1

我正在玩光栅,我想知道使用 .net CF 将 byte[] 绘制到屏幕上的最快方法。该数组是一个标准的 24 位栅格(Screen.Width * Screen.Height * 3 的长度,RGB 顺序),现在我将数组保存到 Bitmap 对象并使用 Graphics.DrawImage(bmp) 将其绘制到屏幕上方法。我觉得必须有某种方式可以做到这一点而不必创建位图。

我正在使用 C#,但如果需要,我可以使用原生代码(如果可能,我更喜欢 P/Invokes,假设是这种情况)

谢谢你的帮助!

4

1 回答 1

2

在绘制图像时,我发现本机BitBlt的性能比使用 .NET 好很多Graphics,您可以使用它来显示您的图像Bitmap,甚至可以使用 GDI 来创建位图。

http://msdn.microsoft.com/en-us/library/aa923590.aspx

在 .NET CF中使用的示例BitBlt(尽管它与您正在做的相反,在 VB.NET 中):

http://anoriginalidea.wordpress.com/2008/01/03/getting-a-screenshot-using-vbnet-on-the-compact-framework-20/

于 2011-02-07T12:29:19.607 回答