问题标签 [hbitmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
133 浏览

c - 如何为 BITMAP 设置像素数据存储

我有以下问题。我在某处定义了用于存储位图像素的数组。

我希望将此数组用作数据。我找到了 CreateBitmap(),但它的行为并不理想。它没有将指针绑定到我的表,而是创建了我的数组的一种快照。

它看起来像这样:

我想显示这两个更改。我也一直在阅读有关 SetDIBits 的信息,但它将数组复制到位图对象。如何直接设置位图的缓冲区?

0 投票
2 回答
1530 浏览

windows - 从现有缓冲区创建 HBITMAP

我有一个充满(DIB)位图数据的现有缓冲区,即宽度 x 高度 x 4 字节(RGBA)大小。我想要做的是将此位图绘制到屏幕上,但是查看 CreateBitmap... / CreateDIB... 函数,它们似乎没有做我正在寻找的事情。我不想复制内存,我想保留对它的访问,所以我可以在下一帧继续写入它(不会因复制数据而受到惩罚)。这种方法是否存在,还是我必须创建一个新的位图并在其上调用 SetDIBits?

0 投票
1 回答
1114 浏览

bitmap - How to convert Gdiplus::Bitmap* object into HBITMAP

I am using MFC, now i have a bitmap object, obtained by using:

How to convert this bmp object into HBITMAP? I used :

but it can't, hBitmap always return 0xcccccccc and notices that {unused=??? }. What can i do?

0 投票
2 回答
1262 浏览

c++ - 加载 HBITMAP 并将其转换为 OpenGL 纹理

我想从资源文件中加载 HBITMAP 并将其用作 OpenGL 纹理。我使用的代码:

但是我总是从 Visual Studio 中得到一个错误,即我无权访问指针bits。错误在代码的最后一行:

我实际上可以使用 NULL 指针而不是bits不会出错。我可以bits使用消息框输出。有人知道我的代码有什么问题吗?

0 投票
0 回答
387 浏览

c++ - 如何将 HBITMAP 转换/制作为字符串 C++

编辑:连接 - 套接字连接

我正在处理需要我通过连接发送 HBITMAP 的东西,因为已知发送正在发送字符串。

如何将 HBITMAP 制作为字符串以发送或者是否有任何其他方式来传输 HBITMAP?

0 投票
1 回答
1187 浏览

c++ - 绘制到 GDI+ 位图

我正在尝试将所有内容从 GDI 转移到 GDI+。就目前而言,我正在绘制缓冲区 DC (GDI)。我想让它改为绘制到 HBITMAP 并且只绘制一次。我已经尝试过使用指针和图像,但找不到任何有用的东西。没有 istream 或文件,我没有使用平面 api 版本(找到了一个构造函数。)

http://pastebin.com/bcw07Suq

0 投票
1 回答
625 浏览

c++ - CListCtrl 和 CImageList 访问 HBITMAP 进行修改

我有一个包含 CImageList 的 CListCtrl,因此我可以在列表中显示 HBITMAP(只是纯色矩形)。我希望能够更换颜色。例如,如果我在列表中选择了一些颜色,然后点击替换,颜色将被更改。我使用以下代码:

其中 pListCopy 是我的 std::list< CustomColor >* , pListCtrl 我的 CListCtrl* 和 pImageList 我的 ImageList*。

问题是,有时,我的 CListCtrl 不使用与 ImageList 相同的位置(例如,CListCtrl pos 3 中的项目可以使用 ImageList pos 6 中的图像)。在这种情况下,替换的 HBITMAP 是错误的。这就是我在注释中尝试代码的原因:尝试获取 ItemData,将其转换为 IMAGEINFO,更改 HBITMAP 的值,然后将其设置回来。但这给了我一个写访问冲突......

我在看什么?有没有办法直接改变HBITMAP?我知道我总是可以从 ImageList 中获取每个 HBITMAP 值并重新定位它们,以便它们与 CListCtrl 同步,但这不会非常有效并且非常难看。

0 投票
1 回答
200 浏览

string - GdiPlus 位图转换为字符串

嘿,我正在做一个项目,我想将图像从服务器发送到客户端。

如何将图片从 GdiPlus 位图转换为字符串。

感谢您的帮助。

0 投票
1 回答
626 浏览

c++ - 如何从优化校准 (MFC c++) 中检索 HBITMAP?

我想知道如何从优化校准 (MFC c++) 中获取 HBITMAP。我尝试了这段代码,但没有奏效:

谢谢

0 投票
3 回答
24353 浏览

c++ - C++:将 Hbitmap/BITMAP 转换为 .bmp 文件

好的,整个故事是,我正在尝试在 C++ 中使用 Leptonica+Tesseract OCR 来截取屏幕截图,将其保存到 *.bmp 文件,然后将其加载回 OCR。我不需要经常这样做,但由于我似乎无法将屏幕截图数据直接复制到 Leptonica PIX 结构中,所以我需要先将其保存到文件中。实际上,最好有一个解决方案。

这是我在网上找到的一些代码,试图帮助我。

屏幕盖:

尝试编写函数:

多年来无耻地抄袭人们的帖子。好的!我面临的问题是,我似乎无法理解如何将 Hbitmap 全局分配到全局可访问的句柄中,该句柄可以转换或与 LPBITMAPINFOHEADER 一起使用。创建 lpbi 后,其中的每个字段在 Visual Studio 2012 调试中都是“无法读取内存”错误。它是不可访问的,尽管被创建了。

解决方案..直接从屏幕截图到 PIX,在内存中..找到一种方法来保存到位图并定期创建它们以供阅读..找到另一种更有意义的方法..

更喜欢第一个,但是,我要求解决这个问题,而不是第二个..或第三个。

如果您需要更多信息,我可以尝试提供。这主要归结为“我以前从未做过这样的代码,而且我的课堂上也没有教过它,所以我正在努力学习”。