问题标签 [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.
vba - GetDIBits 失败。它只返回像素的零值
我一直在寻找 GetDIBits,似乎只能在 Excel 2016 以外的所有其他应用程序中找到讨论。
对于所有像素值,我不断返回 0。我不知道使用 Image1.Picture.Handle 是否是 hdc 的正确语句,我不知道 Image1.Picture 是否是 hbitmap 的正确语句。
我什至无法使用 SetDIBits 函数将结果显示在图像框中。
Web 上的大部分内容都使用 PictureBox、Autodraw 以及 Excel 中似乎没有的东西。
谁能帮我解决这个问题。这将不胜感激。我会发布所有声明,但我不想被网站引导,我的问题太长了。提前致谢。
c++ - 多次调用后 LoadBitmap 失败
在这个函数中,经过大约 90 次调用(它在循环中调用,其想法是每次加载单独的图像,但为了简单起见,我将其保留为一个图像)。全局变量现在更改为本地变量。
我希望有人能提出一个想法,有什么问题。GetLastError 返回“8”,这对我来说毫无意义。
c++ - CImage内存泄漏?
我一直在尝试使用存储在 HBITMAP 中的屏幕截图并将其输出为 PNG 图像。
但是,代码中似乎存在内存泄漏,因为内存似乎没有被正确释放。
此代码有效,但似乎没有清除内存。根据任务管理器中的私有内存集列,image.Destroy 根本不会影响内存,而 image.ReleaseGDIPlus 似乎会清理一些数据。HBITMAP 来自先前的函数,并在代码中的稍后位置被 GlobalFreed 与此函数分开。
是不是少了一行?
c# - 从 CUDA 中的指针加载图像并导出 dll
我对这种东西很陌生。我正在尝试创建一个等效于图像直方图函数的函数。我正在使用 Windows 窗体应用程序来显示直方图(并加载图像)和 CUDA/c++ 来制作直方图。我从一开始就提到我没有使用 openCV、glut、OpenGL 或任何其他第三方库。进行中...我正在尝试将位图传递给非托管 C++ DLL。这里的问题是我现在不知道如何在 c++ 代码中引用该位图。(甚至如何从中获得RGB)。代码片段:
C# :
DLL导入:
c++:
c++ - 将图像保存到剪贴板(从 Javascript 到 C++)
我目前正在将图像保存到剪贴板。base64 数据来自浏览器 (base64),通过 WebSocket 传递并由 C++ 应用程序处理。
我的问题是在 C++ 端将 base64 代码转换为字节数组,然后将 HBITMAP 转换为 BITMAP,然后将其保存到剪贴板。
我使用CryptStringToBinaryA将 base64 (len: 95000) 转换为字节数组 (len: 70000)。
然后,从字节数组中,我使用CreateDIBSection来获取HBITMAP。
这是导致问题的原因,因为ppvBits 返回 0。
当我尝试执行GetObject时,它返回 0。
我还尝试在 GetObject 之后执行 GetLastError。我收到了这个错误。
当该文件已存在时无法创建该文件。
有谁知道可能是什么问题?
c++ - 在保持透明背景的同时调整 HBITMAP 的大小
我有一个应用程序可以加载具有透明背景的图像,然后我使用set usingStretchBlt
将其调整为所需大小(我尝试使用其他模式,在保持透明度不变的同时,也使调整后的图像看起来“难看” )。
但是,将透明背景替换为不适合显示图像的窗口背景的颜色(黑色)。
所以我有两个选择:
1)用窗口的背景颜色替换图像的透明背景,然后使用调整它的大小
2)在保持背景透明度的同时调整它的大小(首选选项)
如何执行这些选项中的任何一个(替换透明度或在保持透明度的同时调整它的大小)使用普通的 WinAPI?HALFTONE
SetStretchBltMode
StretchBlt
StretchBlt
我尝试寻找可以提供的 WinAPI 函数功能,但我没有找到。
c++ - 如何从 HBITMAP 获取 RGBQUAD?
我目前正在学习windows编程并编写一个小型图像搜索程序。
当我有图像的 HBITMAP 句柄时,我想获取 (x, y) 像素的 (R, G, B) 数据。
所以,我试着写这样的东西
我怎么写这个?
我见过 GetPixel 函数,但它对我的程序来说太慢了:(还有其他更胖的方法吗?
c++ - 无法从 glReadpixels 创建 HBITMAP
所以这是我的代码的一部分,我想做的是从 OpenGL 帧捕获中制作一个 HBITMAP。
但我的 (HBITMAP)hdm 始终为 NULL。也许还有另一种方法可以做到这一点或有什么问题?我猜 CreateBitmap 会自己分配内存,所以错误一定不在这里。输出数组似乎很好。
我也尝试过这里的代码:Creating a HBITMAP from glReadPixels但效果不佳,仍然为 NULL。
对此有任何帮助将不胜感激!