上节,我给大家看了一个效果图,个人感觉还不错。。所以,我将教大家怎么样实现那样的效果
我用的是VS2010:
1、创建WIN32项目
2、创立全局变量:
HBITMAP bg,photo;
HDC hdc,mdc;
3、添加素材到工程目录下:
3、找到这里:
4、在下面写这段代码:
- hdc = GetDC(hWnd); //获得DC
- mdc = CreateCompatibleDC(hdc);//获得兼容环境的上下文句柄
- bg = (HBITMAP)LoadImage(NULL,_T("bg.bmp"),IMAGE_BITMAP,1024,768,LR_LOADFROMFILE);//加载图片
- photo = (HBITMAP)LoadImage(NULL,_T("test.bmp"),IMAGE_BITMAP,300,300,LR_LOADFROMFILE);//加载图片
5、在重绘里写这段代码:
- SelectObject(mdc,bg);//把bg句柄选入环境
- BitBlt(hdc,0,0,1024,768,mdc,0,0,SRCCOPY);// BitBlt 显示图片
- SelectObject(mdc,photo);//把photo选入环境
- TransparentBlt(hdc,100,100,300,300,mdc,0,0,300,300,RGB(255,255,255));//TransparentBlt 实现透明贴图
本工程下载地址: http://pan.baidu.com/share/link?shareid=130111&uk=3257421948
注:如果对 BitBlt等函数不懂的话建议看看我的这篇文章
《WIN32 API 编程之如何显示一张图片?》