快速显示来自 byte[] .net Compact Framework 的原始像素数据

发布于 2024-10-16 02:26:47 字数 273 浏览 7 评论 0原文

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

我正在使用 C#,但如果需要的话我可以使用本机(如果可能的话,我更喜欢 P/Invokes,假设是这种情况)

感谢您的帮助!

I'm playing with rasters and I want to know the fastest way to paint a byte[] to the screen using the .net CF. The array is a standard 24bit raster (Screen.Width * Screen.Height * 3 in length, RGB order) and right now I'm saving the array to a Bitmap object and drawing it to the screen using the Graphics.DrawImage(bmp) method. I feel that there must be someway of doing this w/o having to create a Bitmap.

I'm using C#, but I can to go native if needs be (I'd prefer P/Invokes if possible, assuming that is the case)

Thanks for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

番薯 2024-10-23 02:26:48

绘制图像时,我发现本机 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/使用-vbnet-on-the-compact-framework-20获取屏幕截图/

When drawing images, I found the native BitBlt to perform alot better than using .NET Graphics, you could use it to display your Bitmap or even use GDI to create the bitmap instead.

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

An example of using BitBlt in .NET CF (although it's the reverse of what you are doing, and in VB.NET):

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文