VC 将位图放到计算机桌面上

我想把位图贴到计算机桌面上,可是做了好久,都未实现,网上的帖子浏览无数,不是太难了,就是一帮只会吹牛,不会实干家伙的胡说,于是自己拿起了《windos程序设计》狂翻,于是找到答案,特地写出了与大家分享!!!

方法一:

CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);

 

BITMAP BMap;
bitmap.GetBitmap(&BMap);//得到BITMAP 这个结构,然后得到图像的大小
long scrW,scrH;
scrW=BMap.bmWidth;
scrH=BMap.bmHeight;


HDC dcc=::GetDC(NULL);
CDC dcMem;
   HDC ccd = CreateCompatibleDC(dcc);
dcMem.Attach(ccd);
dcMem.SelectObject(&bitmap);


BitBlt(dcc,0,0,scrW,scrW,dcMem.GetSafeHdc(),0,0,SRCCOPY);
bitmap.DeleteObject();
dcMem.Detach();

方法二:

CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP BMap;
bitmap.GetBitmap(&BMap);
long scrW,scrH;
scrW=BMap.bmWidth;
scrH=BMap.bmHeight;

static CWindowDC ddc(GetDesktopWindow());
CDC *pDC=&ddc;
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);
dcMem.SelectObject(&bitmap);
pDC->SetStretchBltMode(HALFTONE);
pDC->StretchBlt(0,0,scrW,scrH,&dcMem,0,0,scrW,scrH,SRCCOPY);
bitmap.DeleteObject();
ReleaseDC(pDC);
DeleteDC(dcMem);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值