Windows7下TransparentBlt不起作用,为什么

hushoubo 2012-09-19 12:40:10

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

...全文
165 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
看不见的裂痕 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 ));

15,980

社区成员

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

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