用图片透明效果时TransparentBlt的问题

Milionking 2009-10-14 09:53:39
我的代码可以使背景为白色的图片变透明,但是好奇怪的是,我想那图片在(0,0)坐标以外显示时,图片就会消失掉了,高手们可告诉小弟怎么一回事么?
代码如下:
CDC m_cdc;
CBitmap m_bitmap;
CDC *pwnd = GetDC();

m_cdc.CreateCompatibleDC(pwnd);

CDC m_cdc2;
CBitmap m_bitmap2;
m_cdc2.CreateCompatibleDC(pwnd);
m_bitmap2.LoadBitmap(IDB_TRUE1);
CBitmap *oldbitmap2 = m_cdc2.SelectObject(&m_bitmap2);

TransparentBlt(pwnd->m_hDC,0,0,150,150,m_cdc2,0,0,150,150,RGB(255,255,255));
//TransparentBlt(pwnd->m_hDC,50,50,150,150,m_cdc2,50,50,150,150,RGB(255,255,255));//用这个图片会就不见了。
m_cdc2.SelectObject(oldbitmap2);
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
milionking2 2009-10-15
  • 打赏
  • 举报
回复
唉。还是没人答么?
Milionking 2009-10-15
  • 打赏
  • 举报
回复
图片尺寸是150x150的喔。。。
pasdtniuren 2009-10-15
  • 打赏
  • 举报
回复
你那张图片尺寸不是小于50*50吧
Milionking 2009-10-15
  • 打赏
  • 举报
回复
还没有人可以回答下小弟么?。。顶上去了。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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