c++ - 将 hDC 转换为 4bpp 位图

标签 c++ windows visual-studio gdi+

我正在开发一个应用程序,该应用程序对在 HDC 中选择的 HBITMAP 执行一些 GDI+ 绘图。绘制完成后,我需要:

  1. 从hDC获取位图
  2. 将该位图转换为 4bpp 位图
  3. 将 4bpp 位图的原始位发送到其他方法。

我真是迷路了,我对GDI+和句柄真是个新手。谁能帮帮我?

最佳答案

GetDIBits是用于转换和检索原始位的函数,即 (2) 和 (3)。

如果您还没有 BITMAP 的句柄,则必须使用 CreateCompatibleDC 创建一个新的 DC ,在其上创建一个兼容的位图,并执行从源 DC 到目标 DC 的 BitBlt。然后对目标 DC 和位图执行 GetDIBits 以检索您需要的数据。

关于c++ - 将 hDC 转换为 4bpp 位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11614448/

相关文章:

c++ - 返回引用的函数不适用于 window.h

c++ - Windows 7 如何确定您是否需要管理员权限? (vc60)

c++ - C++从另一个源文件访问已在一个源文件中声明/定义的变量

c# - 发送C#AES加密字符串给CyptoPP C++程序解密

c++ - 为什么 Perf 和 Papi 为 L3 缓存引用和未命中提供不同的值?

windows - 如何编译这个程序?链接器阶段错误

windows - 进程 block 在 Graphics.DrawString 中不起作用

visual-studio - Visual Studio 浏览器链接在 Firefox 中不起作用

visual-studio - Visual Studio 相当于 Delphi 书签

c++ - wxWidgets:定期重绘 wxFrame 中的图像