Windows7下TransparentBlt不起作用,为什么

hushoubo 2012-09-19 12:40:10

为什么TransparentBlt不起作用呢?奇怪

...全文
139 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
傻X 2012-09-19
我也碰到过,思路如下:

1.先找到TransparentBlt返回值,如果是TRUE,说明不是这步骤有问题。FALSE的话,查看GetLastError找原因


2.我之前碰到的一个问题是这样的:
When used in a multiple monitor system, both hdcSrc and hdcDest must refer to the same device or the function will fail.

就是hdcSrc和hdcDest大小不匹配,因此失败。
  • 打赏
  • 举报
回复
快乐鹦鹉 2012-09-19
代码写的不对吧
  • 打赏
  • 举报
回复
healer_kx 2012-09-19
1, 我确定你是两个平台了,但是你确定一下图片是不是相同的。
2, 看看GetLastError的值了。
3, 如果有透明通道。试一试AlphaBlend的效果
  • 打赏
  • 举报
回复
hushoubo 2012-09-19
我使用的是同等大小拷贝,win xp下一切正常,win 7下就不行,明明是返回的TRUE,结果黑色背景还是没去掉
TransparentBlt( hDC, 0, 0, 200, 200, hDCMem, 0, 0, 200, 200, RGB( 0, 0, 0 ));
  • 打赏
  • 举报
回复
发帖
界面
加入

1.5w+

社区成员

VC/MFC 界面
社区管理员
  • 界面
申请成为版主
帖子事件
创建了帖子
2012-09-19 12:40
社区公告
暂无公告