C# 如何在SKBitmap SKiaSharp中重置位图像素

C# 如何在SKBitmap SKiaSharp中重置位图像素,c#,xamarin,skiasharp,C#,Xamarin,Skiasharp,我正在尝试清除Xamarin中SkiaSharp中的位图,该位图由SkCanvas绘制 new SKCanvas(SkBitmap bitmap) 但有时我需要清除位图数据 SkCanvas.Clear() 尝试使用SKColor(0,0,0,0)像素填充位图,但使用现有像素预填充不会影响位图 SKBitmap.Reset() 不起作用,因为它完全重置对象,包括大小。 你知道我怎样才能高效地实现这一点,而不是通过遍历所有像素吗?如果你想清除像素数据,你必须清除

我正在尝试清除Xamarin中SkiaSharp中的位图,该位图由SkCanvas绘制

    new SKCanvas(SkBitmap bitmap) 
但有时我需要清除位图数据

    SkCanvas.Clear() 
尝试使用SKColor(0,0,0,0)像素填充位图,但使用现有像素预填充不会影响位图

    SKBitmap.Reset() 
不起作用,因为它完全重置对象,包括大小。
你知道我怎样才能高效地实现这一点,而不是通过遍历所有像素吗?

如果你想清除像素数据,你必须清除每个像素。这是没有办法的

要清除位图/画布,应使用
SKCanvas.clear()
,但请记住,可以传入颜色。因此,如果您希望像素数据全部为零,您只需
SKCanvas.Clear(0)

我想这就是你要问的,如果不是,我可能需要更多的信息

编辑

刚刚发生的另一件事是有一个
SKBitmap.Erase(SKColor)
。这可能更好,因为不需要画布