游戏编程基础(一)GDI位图透明效果

来源:互联网 发布:一九八网络全是培训吗 编辑:程序博客网 时间:2024/05/02 06:45

GDI实现透明位图还是相当简单的

位图的透明原理:

1.位图白色位置的RGB值为{255,255,255}

2.位图黑色位置的RGB值为{0,0,0,}

3.准备两张图,要显示的图片背景设置为黑色(左图),用于屏蔽掉背景的图片背景设置为白色,显示图像部位设置为黑色(右图)

4.先用屏蔽图(右图)与背景图做“AND”运算,后将前景图(左图)于背景图做“OR”运算,即可实现透明效果

关键代码如下:

hdc = GetDC(hWnd);
 mdc = CreateCompatibleDC(hdc);

 bg = (HBITMAP)LoadImage(NULL,"testbg.bmp",IMAGE_BITMAP,1024,768,LR_LOADFROMFILE);
 test1 = (HBITMAP)LoadImage(NULL,"test1.bmp",IMAGE_BITMAP,463,552,LR_LOADFROMFILE);
 test2 = (HBITMAP)LoadImage(NULL,"test2.bmp",IMAGE_BITMAP,463,552,LR_LOADFROMFILE);

...........

BitBlt(hdc,0,0,1024,768,mdc,0,0,SRCCOPY);

 SelectObject(mdc,test2);
 BitBlt(hdc,150,200,463,552,mdc,0,0,SRCAND);
 SelectObject(mdc,test1);
 BitBlt(hdc,150,200,463,552,mdc,0,0,SRCPAINT);

 

 这样一只可爱的小羊喝水图就出来了

最终效果图如下:

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 摩托三轮车油刹抱死怎么办 手动档汽车离合抱死怎么办 别克gl8后轮吃胎怎么办 扭力梁后轮吃胎怎么办 非独立悬挂吃胎怎么办 货车半轴法兰盘裂纹怎么办 小天才平板裂屏了怎么办 新车撞了个坑怎么办 新车碰了个坑怎么办 汽车顶被砸了个坑怎么办 途观l前减震异响怎么办 锦明8代声音太大怎么办 手机网页无法加载插件怎么办 微信公众号被投诉怎么办 住了酒店的尾房怎么办 喜欢前任的闺蜜怎么办 闺蜜给介绍对象怎么办 喜欢对象的发小怎么办 山东省直医保卡丢失怎么办 高铁票如果错过了怎么办 动车错过了时间怎么办 长途动车错过了怎么办 动车如果错过了怎么办 没有取票错过了怎么办 动车出站没检票怎么办 火车晚点耽误了下班车怎么办 动车票中途丢了怎么办 购买二手房异地铁路公积金怎么办 沈阳公积金卡丢了怎么办 住宅专项维修资金用完了怎么办 广州出租车丢了东西怎么办 广州的士丢了东西怎么办 网上找兼职被骗了怎么办 海信空调开不了机怎么办 海信空调遥控器开不了怎么办 学生遭套路贷反被仲裁怎么办 赏脸打错字尝脸怎么办 红掌的花变黑了怎么办 红掌花苞发黑了怎么办 水培植物腐根了怎么办 水培绿萝水发臭怎么办