在 System.Drawing 中,我们将使用 maketransparent 方法使位图图像颜色为透明 SKBITMAP 是否有任何其他等效方法可以使颜色透明。
Bitmap imgData = new Bitmap()
imgData.MakeTransparent(Color.White);
//在system.Drawing中
任何人都可以建议一种解决方案,使 SkiaSharp.SKBitmap 的颜色透明
设置SKBitmap.Pixels
可以解决问题。这是一个扩展方法:
public static void ClearToTransparent (this SKBitmap bitmap) {
int pixelCount = bitmap.Width * bitmap.Height;
SKColor[] colors = new SKColor[pixelCount];
SKColor transparent = new SKColor(0, 0, 0, 0);
for (int n = 0; n < pixelCount; n++) {
colors[n] = transparent;
}
bitmap.Pixels = colors;
}
我建议在官方skia论坛上提问: https ://groups.google.com/forum/#!forum/skia-discuss
我对skia有相当多的了解,但他们什么都知道。SkiaSharp 只是原生库的一个薄包装器,所以无论他们做什么,都只是在 C# 中做同样的事情。