如何在 Windows.Forms 应用程序中呈现 SKBitmap?

Kaa*_*KİN 3 winforms skia skiasharp

嗨,我开始了一个新项目,WinForms 对我来说是新项目。我有一个 SKBitmap 对象,但我不知道如何渲染它。

Mat*_*hew 6

有几种方法。首先要做的是安装 SkiaSharp.Views 包——一个包含平台特定视图和实用程序的小包,用于将 SkiaSharp 类型转换为当前平台类型:

https://www.nuget.org/packages/SkiaSharp.Views/

安装后你应该得到这些类型:

https://developer.xamarin.com/api/namespace/SkiaSharp.Views.Desktop/

回到代码,您可以添加一个SKControl并在paint事件上绘制位图:

control.PaintSurface += (...) => {
    // draw
};
Run Code Online (Sandbox Code Playgroud)

或者,您可以将位图转换为 Windows 位图:

var sysBitmap = skBitmap.ToBitmap();
Run Code Online (Sandbox Code Playgroud)

然后,您可以将其分配给 a PictureBox

pictureBox.Image = sysBitmap;
Run Code Online (Sandbox Code Playgroud)