如何从 Gdiplus::Bitmap 快速复制数据
Posted
技术标签:
【中文标题】如何从 Gdiplus::Bitmap 快速复制数据【英文标题】:How to quickly copy data from Gdiplus::Bitmap 【发布时间】:2013-08-07 11:00:14 【问题描述】:我有一个 Gdiplus::Bitmap 对象。这是已知宽度和高度的灰度图像。我想要做的是将它的内容加载到二维数组中,比如
char image[width][height]
我需要 Gdiplus::Bitmap(在 Winapi 窗口中渲染)和 char 数组(执行大量图像过滤并且相对较快)。我考虑了一些选择:
-
遍历 Gdiplus::Bitmap,逐像素加载数据
使用新的 Gdiplus::Bitmap(filename) 加载 Gdiplus::Bitmap,但使用其他库将图像从同一文件加载到我的数组中
根本不使用 Gdiplus,而是使用其他东西来渲染和对图像执行过滤。不幸的是,我不知道是否有比 Gdiplus 更好的在 Winapi 窗口中渲染图像的方法
最好的方法是什么?
【问题讨论】:
【参考方案1】:如果您使用例如this constructor 或this constructor,那么您仍然可以控制原始像素数据,并且可以随意更改。
更改像素数据后,使用位图重绘即可。
【讨论】:
所以,使用第二个构造函数我得到了类似 Bitmap(width, height, width * 8, PixelFormat8bppIndexed, my_array) 的东西,并且为了将数据加载到数组中,我使用了一些快速的 jpeg 库?以上是关于如何从 Gdiplus::Bitmap 快速复制数据的主要内容,如果未能解决你的问题,请参考以下文章