问题标签 [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 投票
2 回答
789 浏览

c - 在 C 中加载或保存位图句柄 win32

最终,我想将剪贴板中的图像保存到 img 文件(.bmp、JPEG 等)。那是一条漫长的道路,所以我只想将图像加载到窗口中,但 GetClipboardData() 似乎没有任何成功。它总是返回 NULL。搜索对我没有帮助..从剪贴板获取 HBITMAP 的代码:

输出:获取剪贴板数据时出错

我尝试使用 GetLastError() 格式化和所有内容,它说找不到文件。睡眠是等待我按打印屏幕,以确保剪贴板有一些数据。

0 投票
1 回答
1800 浏览

delphi - 在 Delphi 中将 HBitmap 转换为字节数组

我正在尝试将 hBitmap 转换为字节数组,但我不想使用单元 Graphics 中的 TBitmap。我的输入图像是 128x64x32bit。

这给了我一个很好的图像(当然是颠倒的),但我不得不将 131 放入 biWidth 中,这对我来说真的没有意义。为什么不能是128?

0 投票
2 回答
12526 浏览

c++ - C++ 从 hBitmap 获取 RGB

使用位图对我来说是非常新的事物,所以我一直在努力阅读我阅读过的在线教程和策略。基本上我的目标是扫描屏幕以获取特定的 RGB 值。我相信执行此操作的步骤是在 hBitmap 中捕获屏幕,然后从中生成我可以扫描的 RGB 值数组。

我最初是从 GetPixel 开始的,但这很慢。解决方案是使用生成 RGB 值数组的 GetDIBits。问题是它会返回奇怪且可能是随机的 RGB 值。

我正在使用从另一个教程中找到的以下代码:

我用下面的代码对此进行了测试。我点击 Shift 来调用 ScreenCap,然后将光标移动到所需位置并点击 Space 以查看该位置的 RGB 值。我完全疯了吗?

0 投票
1 回答
3122 浏览

c# - 我怎样才能释放hbitmap

您好,我有以下函数,之后我从 c# 中使用它来显示带有“Bitmap.FromHbitmap(IntPtr)”的位图,但经过几次使用后,这会以内存泄漏告终。

可能我应该在某些地方删除对象,但我不知道在哪里我可以在返回之前尝试过,但我最终没有图像但出现 gdi 错误

谢谢,

0 投票
2 回答
509 浏览

c# - 获取 EZTwain BARCODE_Recognize 返回值为 -4

我正在尝试使用 EZTwain 扫描库从扫描的图像中检索条形码,当我尝试调用时,我得到的返回值为 -4 EZTwain.BARCODE_Recognize(IntPtr, int, int),在 EZTwain 用户指南中没有描述。

在 EZTwain 用户指南中,它列出了一些用作错误代码的返回值,如您在此处看到的。

BARCODE_Recognize

没有列出 -4 返回值,我不知道还能去哪里看,因为用户指南是我所知道的唯一可用于该库文档的内容。

这是我在返回 -4 的代码时使用的代码。

我确实调用了 EZTwain_SetVendorKey 但出于明显的原因将其省略了。

我想知道这是否与IntPtr我正在路过有关?文件说Call BARCODE_Recognize, passing it the handle of the image to search, the maximum number of barcode patches to find, and a mask of the barcode types (symbologies) to look for. If this function finds any barcodes, it returns a positive integer = the count of symbols (barcodes) found.

我通过IntPtri 创建使用图像和 -1,-1 来查找图像中的所有条形码,使用所有条形码类型。

有谁知道这个错误代码是什么意思?如果是这样,您从哪里发现它的含义?

0 投票
2 回答
4055 浏览

windows - 从 QT5 中的 QPixmap 获取 HBITMAP (Windows)

现在 QPixmap::toWinHBITMAP() 已被弃用,我找不到从 QPixmap(或 QImage)获取 HBITMAP 的方法。

谷歌搜索,我发现有一个名为 qt_pixmapToWinHBITMAP() 的函数似乎可以满足我的需要,但是我找不到我应该在我的 .pro 文件中启用什么模块(如果有的话)或我应该包含什么头文件来使用它,或者也许是别的东西。

我需要 HBITMAP 的原因是使用 VFW 创建视频。当然,我希望能够仅使用 Qt 来做到这一点。有 QtMultimedia 模块,但据我所知它不导出视频,所以我想我坚持直接使用 windows api。

任何帮助,将不胜感激。

0 投票
1 回答
355 浏览

c# - 有时在获取文件缩略图时位图是颠倒的

我使用这种方法来获取文件的缩略图(保持透明度......):

但有时图像是颠倒的。当第二次、第三次获得相同的图像时,它不会倒置。有什么方法可以确定它是否颠倒?如果有任何解决方案,下面的代码应该可以工作:

0 投票
0 回答
377 浏览

c++ - 检索窗口截图/捕获

我有一个远程应用程序,它使用“Windows 句柄”截屏。(我的意思是HDC,,HBITMAP....)。

代码如下所示:

经过多次循环(大约 2000 次)CreateDC()函数 return NULL。而且,如果我旧的 DC(意味着初始化一次,然后在应用程序退出时销毁)我的应用程序窗口轻弹(或它的一部分),甚至完全不可见。

因此,我需要知道如何解决这个问题或知道任何其他更好的方法来获取屏幕图像(位/RGB 数据)。

0 投票
1 回答
4188 浏览

winapi - Winapi LoadBitmap() 没有从我的资源中加载图像

在我的 .rc 文件中,我添加了一行:

.cpp 文件中的原型:

ShowWindow()我将它加载到内存之后:

WM_CREATE:我将其加载到屏幕上并将其清除:

感谢@BeneGal 问题(在此处创建),我创建了一个 MB,用于告诉 img 是否未加载:

当我ShowWindow()在MB没有出现之后粘贴上面的代码时,当我粘贴它时WM_CREATE:它就会出现。不知道为什么。

编辑:其实我忘了告诉我的窗口上没有出现图像,这是主要问题。

0 投票
1 回答
1226 浏览

c++ - MFC HBITMAP 内存泄漏不会消失

每当我执行以下代码时,我在应用程序任务管理器中的内存都会不断增加。我在 stackoverflow 上发现了类似的问题,并且像他们所说的那样做了一些 DeleteObject 调用,但这仍然没有解决此代码执行时内存不断增加的问题。

如何解决?我究竟做错了什么?