Window下的2D游戏-贴图技术

一.直接贴图-常规操作四步骤

1.利用LoadImage(...)从磁盘中加载位图资源,得到它的位图句柄

 2.利用CreateCompatibleDC()创建一个兼容DC                   

3.利用SelectObject(...)把位图对象选入到兼容DC中

4.使用BitBlt(...)把图片贴到客户区中

二.透明贴图:用GDI支持的图片格式BMP制作成的图片素材,如果不经过处理直接进行贴图,会出现黑框的"穿帮镜头",所以需要透明贴图

1.透明遮罩法

  • 制作遮罩图
  • 利用SelectObject(...)把位图对象选入到兼容DC中
  • 利用BitBlt(...)中最后一个参数类型改变贴图方式,将遮罩图和背景图做AND位运算,运算后的结果贴到DC中
  • 利用BitBlt(...)中最后一个参数类型改变贴图方式,将前景图和背景图做OR位运算,运算后的结果贴到DC中

        

2.透明色彩法:贴图时可以设置某种颜色为透明色

  •  利用CreateCompatibleBitmap(...)创建一个和窗口兼容的空的位图对象,然后利用SelectObject(...)把它选择到HDC中,避免了HDC二次贴图会失效的副作用

  • 把背景图选择,贴图到HDC中
  • 把人物图选择,利用TransparentBlt(...)进行透明色彩处理贴图到HDC中
  • 最后利用BitBlt(...)把处理好的位图对象贴到客户区

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值