CreaeCompatibleDC函数的问题

mirroatl209 2013-02-03 01:49:56

HDC hMemDC = ::CreateCompatibleDC(NULL);
HBITMAP hMemBitmap = ::CreateCompatibleBitmap(dc.m_hDC,rect.Width(),rect.Height());
//CreateCompatibleBitmap创建的位图第一个参数m_hDC里面的图片是什么,创建出来的位图就是什么样子的???
把生成的位图加载到hMemDC里,SelectObject就行了把???
...全文
154 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2013-04-22
  • 打赏
  • 举报
回复
向立天 2013-04-12
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
schlafenhamster 2013-02-04
  • 打赏
  • 举报
回复
"我要(不?)加载一张图片,我要用程序再生成1张一样的bmp" SelectObject 已加载图片。 bitblt 到 一个 memDC
zhangyihu321 2013-02-04
  • 打赏
  • 举报
回复
要不就用GDI+ 直接载入 后直接画
zhangyihu321 2013-02-04
  • 打赏
  • 举报
回复
请参考一下内存DC 双缓冲的代码。。。
mirroatl209 2013-02-04
  • 打赏
  • 举报
回复
啊!我要把加载一张图片,我要用程序再生成1张一样的bmp.//怎么办呀?
引用 4 楼 schlafenhamster 的回复:
我觉得给你说过 用CreateCompatibleBitmap来建立的位图,是一个空位图,即: ”直接输出就是黑色的图片“
jimette 2013-02-03
  • 打赏
  • 举报
回复
用CreateCompatibleBitmap来建立的位图,是一个空位图,即: ”直接输出就是黑色的图片“
schlafenhamster 2013-02-03
  • 打赏
  • 举报
回复
我觉得给你说过 用CreateCompatibleBitmap来建立的位图,是一个空位图,即: ”直接输出就是黑色的图片“
傻X 2013-02-03
  • 打赏
  • 举报
回复
是的。直接用SelectObject就可以啊。 我曾经做过类似的实验,用CreateCompatibleBitmap来建立的位图,直接输出就是黑色的图片。
Isnis-fallen 2013-02-03
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_523491650100gwii.html
邓学彬 2013-02-03
  • 打赏
  • 举报
回复
CreaeCompatibleDC 函数功能:该函数创建与指定的设备环境相关的设备兼容的位图。 函数原型:HBITMAP CreateCompatibleBitmap(HDC hdc,int nWidth,int nHeight); 参数: hdc: 设备环境句柄。 nWidth:指定位图的宽度,单位为像素。 nHeight:指定位图的高度,单位为像素。 返回值:如果函数执行成功,那么返回值是位图的句柄;如果函数执行失败,那么返回值为NULL。若想获取更多错误信息,请调用GetLastError。 备注:由CreateCompatibleBitmap函数创建的位图的颜色格式与由参数hdc标识的设备的颜色格式匹配。该位图可以选入任意一个与原设备兼容的内存设备环境中。由于内存设备环境允许彩色和单色两种位图。因此当指定的设备环境是内存设备环境时,由CreateCompatibleBitmap函数返回的位图格式不一定相同。然而为非内存设备环境创建的兼容位图通常拥有相同的颜色格式,并且使用与指定的设备环境一样的色彩调色板。 当你不再需要这个位图的时候,调用DeleteObject删除它。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧