如何从Windows LPBITMAP或HBITMAP获取实际的字节数组
How do I get the actual byte array from a Windows LPBITMAP or HBITMAP?
我正在构建一个非托管的Windows C++项目,该项目需要对位图进行一些分析。该应用程序不是Windows应用程序,而是一个win32库。
客户端应用程序会将 LPBITMAP 的 HBITMAP 传递到库中。
我需要访问底层字节数组[]进行处理和分析。如何从位图中获取字节数组[]?(无需转到临时文件)。
我已经能够从 BITMP (.BMP) 文件中执行此操作。但在这些情况下,我需要使用 HBITMAP 和 LPBITMAP。
我如何实现这一点?(请记住,我无法访问Windows HDC等,因为这不是Windows应用程序,该库也不会与Windows应用程序一起运行)
这可以通过opencv库以某种方式完成吗?
谢谢 约翰·
如果您有
LPBITMAP
,那么位已经存在,以BITMAP::bmBits
为单位。如果您有HBITMAP
可以使用GetDIBits
来获取它们。
相关文章:
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 基于字节数组生成静态范围整数值
- 将字节数组转换为带有字节序问题的指针
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 字节数组初始化会导致 DirectX 崩溃
- 使用 swig 追加到字节数组
- C++ 替换字节数组中项的顺序
- 如何从保存在 Java 中C++的字节数组中读取数字?
- 如何在C++(Arduino)中将浮点数组转换为字节数组
- 将字节数组转换为多维数组
- 如何将带有空字符的字节数组馈送到 std::iostream 中?
- C++字节数组到整数
- 将字符串转换为无符号字符数组/字节数组
- 用于 progmem 的C++和头文件压缩的 Web 文件字节数组
- 从 UTF-8 字节数组创建字符串?
- 如何将 CString 转换为字节 [] 数组?
- 使用 ESP8266/8285 将字符串从 Web 服务器转换为字节数组
- 如何将 (serverClients[i].read() 传递给 ESP8266 上的字节数组
- C++浮点数和字节数组的联合问题
- 如何初始化字节数组的映射?