怎样创建带颜色的内存HBITMAP?
求代码:怎样才能创建带颜色的内存HBITMAP,使用如下代码只能为黑白:
后来有人指导将:
更改为
但是程序运行错误。望指点和给出可行的代码。提前谢过。
///////////////////////////////////////////////////////////////////////////
// 创建内存DC和位图
HDC MDC = ::CreateCompalibleDC(0);
HBITMAP hMemBmp = ::CreateCompalibleBitmap(MDC,100,100);
HGDIOBJ hOldBmp = ::SelectObject(MDC,hMemBmp);
///////////////////////////////////////////////////////////////////////////
// 设置字体背景色和字体色
::SetBackColor(MDC,RGB(0,0,0));
::SetTextColor(MDC,RGB(255,0,0));
// 输出字体
::TextOut(MDC,0,0,"测试",strlen("测试"));
///////////////////////////////////////////////////////////////////////////
// 其他代码
......
///////////////////////////////////////////////////////////////////////////
// 还原
::SelectObject(MDC,hOldBmp);
::DeleteObject(hMemBmp);
::DeleteDC(MDC);
后来有人指导将:
HDC MDC = ::CreateCompalibleDC(0);
HBITMAP hMemBmp = ::CreateCompalibleBitmap(MDC,100,100);
更改为
HDC hDc = ::CreateDC(0);
HDC MDC = ::CreateCompalibleDC(hDc);
HBITMAP hMemBmp = ::CreateCompalibleBitmap(hDc,100,100);
但是程序运行错误。望指点和给出可行的代码。提前谢过。
...全文
相关推荐
如何替换HBITMAP中的颜色值
### 如何替换HBITMAP中的颜色值在Windows编程中,`HBITMAP` 是一个句柄类型,用于表示位图对象。有时我们可能需要替换位图中的特定颜色,例如将所有的红色像素替换为绿色像素。
从HBitmap创建电影
HBitmap通常用于图像处理,如从屏幕截图、加载图片文件或在内存中创建图像。将这些HBitmap序列化成动态视频,需要对视频编码和帧率有深入理解。
【代码】VS2010 用CxImage读入各种图片格式后在内存中转换为HBITMAP位图Demo
在本文中,我们将深入探讨如何在Visual Studio 2010环境下使用CxImage库来读取各种图片格式,并在内存中将它们转换为HBITMAP位图对象。
利用HBITMAP打开bmp位图
**内存管理和资源释放**: 在完成位图操作后,记得使用`DeleteObject`释放HBITMAP,`DeleteDC`删除设备上下文,以避免内存泄漏。8.
C++中Cbitmap,HBitmap,Bitmap区别及联系
首先,HBitmap是Windows API中表示位图的一种句柄类型,它是一个简单的指针,用于标识系统内存中的位图资源。


