如何在 Windows.Forms 应用程序中呈现 SKBitmap?
Posted
技术标签:
【中文标题】如何在 Windows.Forms 应用程序中呈现 SKBitmap?【英文标题】:How to render SKBitmap in Windows.Forms application? 【发布时间】:2017-10-17 18:13:02 【问题描述】:您好,我开始了一个新项目,WinForms 对我来说是新的。我有一个 SKBitmap 对象,但我不知道如何渲染它。
【问题讨论】:
【参考方案1】:有几种方法。首先要做的是安装 SkiaSharp.Views 包——一个包含平台特定视图和实用程序的小包,用于将 SkiaSharp 类型转换为当前平台类型:
https://www.nuget.org/packages/SkiaSharp.Views/
安装后你应该得到这些类型:
https://developer.xamarin.com/api/namespace/SkiaSharp.Views.Desktop/
回到代码,您可以添加SKControl
并在绘制事件上绘制位图:
control.PaintSurface += (...) =>
// draw
;
或者,您可以将位图转换为 Windows 位图:
var sysBitmap = skBitmap.ToBitmap();
然后,您可以将其分配给PictureBox
:
pictureBox.Image = sysBitmap;
【讨论】:
以上是关于如何在 Windows.Forms 应用程序中呈现 SKBitmap?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows Forms 2.0 中从子窗体关闭父窗体?
用不了System.Windows.Forms,如何使用MessageBox?
如何清除 System.Windows.Forms.WebBrowser 会话数据?
如何检测 C# Windows Forms 代码在 Visual Studio 中执行?