问题标签 [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.
c++ - MFC中创建DIBSection并使用图片控件进行渲染
我正在使用调用在 MFC 中创建一个 DIB 部分CreateDIBSection
。我HBITMAP
从调用中得到一个,我将它传递到我的 MFC 项目中的另一个对话框。在另一个对话框中,我使用CStatic::SetBitmap(HBITMAP)
调用来渲染位图。但由于某种原因,我什么都看不到。如果这是在同一个对话框中完成的,这工作得很好,但我想在一个对话框中创建位图并在另一个对话框中显示。
创建 DIBSection 的代码是
请帮我解决一下这个。HBITMAP
Handles的使用有什么限制吗?
c# - C# - 从原生 HBitmap 到 JPEG 编码流,透明和颠倒
我的最终目标是放置一个 HBitmap,我使用以下代码从 Windows 缩略图缓存中检索到它:
成 JPEG 编码的流,然后我将通过网络发送。
我的第一次尝试是使用Image.FromHBitmap()
,但是这个忽略了 alpha 通道。请参阅此问题:
在 C# 中使用本机 HBitmap 同时保留 Alpha 通道/透明度
解决方案显然是创建一个使用本机位图数据的新位图。但是请查看汉斯对另一个问题的回答的评论:有些拇指会颠倒,有些则不会。是否有可能确定我是否必须轮换?(大卫的评论没有答案,我不能在那里发表评论......)我读了很多次,位图数据通常是倒置存储的,那么步幅值将是负数。我检查了NativeMethods.BITMAP
对象的所有字段,对于正常图像和倒置图像,它们都没有区别。所以必须有另一种解决方案。
还有另一个问题:当将位图保存到 JPEG 流时.Save(somestream, ImageFormat.Jpeg)
,透过图像透明部分的背景会变成白色,但我希望它是黑色的。
先感谢您!
winapi - SetBitmapBits 未在 Window 上设置 Captured HBITMAP
我想从 0x0(左上角)获取屏幕的 500x500 HBITMAP 并将其绘制在我的窗口上。这是我的代码。SaveBitmap()
保存 HBITMAP 及其工作正常。
问题是没有在窗口上绘制捕获的图像。我在哪里失踪?
c# - 将 hBitmap 保存为位图时出现一般 GDI+ 错误
我正在编写自己的 DIB/BMP 解码器(我知道已经有其他解码器,但我正在学习图像处理)并且我已经设法将像素存储在指针中并获取用于编写 hBitmap 的相关尺寸,但是这个错误不断出现:
下面是堆栈跟踪和代码:
代码:
我不知道出了什么问题,但我对 PCX 文件使用了类似的功能,除了单色图像外,它们都失败了,渲染得很好。如果有人可以提供帮助,我将非常感谢。
c++ - HBITMP 的 WINdows 函数 DestroyObject 不能很好地工作(内存泄漏)
我需要经常在 C++ 程序中创建 HBITMAP 图像,当然我需要在使用后删除这些位图。代码与此类似
我在一个线程中有一个无限循环,不断创建一个 HBITMAP,调用一个使用这个位图的函数,然后删除它。在循环开始时,我检查进程内存使用量是否大于前一个循环,如果是,我打印它。使用 CreateBitmap() 和 DeleteObject() 会导致少量内存泄漏;进程内存使用量偶尔会增加 4KB(有时每 10 秒一次,有时几分钟内没有任何反应)。
我也没有调用进程函数就测试了,问题依旧存在,所以我认为是由于位图处理。此外,我做了另一个测试,在无限循环之外创建图像(所以我只创建一次)并在循环中处理它无限次,并且没有发生内存泄漏。
注意:DeleteObject() 始终返回值 >0(无错误)。
问题是否可能与 DeleteObject() 函数有关?以这种方式创建/删除位图有什么问题吗?
技术说明:Windows XP Borland C++ Builder 5
winapi - 当我使用 GetBitmapBits 获取位图信息时,HBITMAP 的像素格式是什么?
我有 HBITMAP hBitmap。我使用 GetBitmapBits(hbitmap, width * height, buffer);
缓冲区中写入的像素格式是什么?
谢谢。
c++ - 从 glReadPixels 创建 HBITMAP
我需要从 glReadPixels() 调用返回的数据创建一个 HBITMAP:
我尝试使用:
这可以粘贴到 mspaint 中(所以数据很好)但是我到底如何将它放入 HBITMAP 中?!?!
c++ - GDI C/C++ - BITMAP 到现有的 HBITMAP
如何创建与设备上下文兼容的位图,然后将获得的句柄与 BITMAP 结构相关联?如果我写:
创建一个与 hdc 兼容的 HBITMAP 句柄,然后初始化一个新的 HBITMAP(填充位图数据),但不保持其兼容性。是否有一个函数不允许从 BITMAP 创建 HBITMAP,而是用已经存在的 BITMAP 源填充初始化的 HBITMAP?
c++ - HBITMAP 内存泄漏
无论我多么努力地寻找,无论我尝试了什么,我都找不到这段代码泄漏的原因。实际上,我不确定是否存在泄漏,但每次使用这段代码时,GDI 对象的数量都会增加。
我已经用工具检查了 GDI 对象,我发现 HBITMAP hBmp 是泄漏的对象。我应该如何删除它?
DeleteObject 不工作。
谢谢
c++ - HBITMAP 添加透明度/alpha 通道
我正在尝试为 hbitmap 对象添加透明度,但它从不绘制任何东西:/
这是我用来绘制手柄的代码
这是应该向 hbitmap 添加 alpha 通道的代码
编辑:
这是我如何创建位图的代码我稍后在一些代码中填充像素数据