3

在 System.Drawing 中,我们将使用 maketransparent 方法使位图图像颜色为透明 SKBITMAP 是否有任何其他等效方法可以使颜色透明。

Bitmap imgData = new Bitmap() imgData.MakeTransparent(Color.White);//在system.Drawing中

任何人都可以建议一种解决方案,使 SkiaSharp.SKBitmap 的颜色透明

4

2 回答 2

1

设置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;
}
于 2020-10-07T01:17:07.490 回答
-1

我建议在官方skia论坛上提问: https ://groups.google.com/forum/#!forum/skia-discuss

我对skia有相当多的了解,但他们什么都知道。SkiaSharp 只是原生库的一个薄包装器,所以无论他们做什么,都只是在 C# 中做同样的事情。

于 2018-02-16T14:06:08.280 回答