如何在SkiaSharp中将SKBitmap位图颜色设置为透明

时间:2018-02-13 11:47:43

标签: 2d skia skiasharp

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

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

任何人都可以建议一个解决方案,使SkiaSharp.SKBitmap

的颜色变得透明

2 个答案:

答案 0 :(得分:0)

设置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;
}

答案 1 :(得分:-1)

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

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