使用 PhotoShop 制作带alpha通道的32位bmp图像(用以制作win32不规则窗口)
【摘要】 由于win32程序只支持bmp类型图片,因此需要使用 Photoshop 将 png 转为 bmp。最简单的方法是,将png图片导入 Photoshop 中我是先新建一个图层,然后用圆角矩形工具绘制圆角矩形,Ctrl+T调整矩形大小。然后在矩形图层上右击“栅格化图层”将其变为普通图层栅格化前栅格化后切换回“原始PNG图片”的图层(鼠标点击该图层)用魔术棒工具选择透明区域(如果选错了,则使用C...
前言
由于win32程序只支持bmp类型图片,因此需要使用 Photoshop 将 png 转为 bmp。
这里要为 UpdateLayeredWindow
函数做一个能用的,带透明度的32位bmp类型的背景图片
制作过程
最简单的方法是,将png图片导入 Photoshop 中
我是先新建一个图层,然后用圆角矩形工具绘制圆角矩形,Ctrl+T调整矩形大小。
然后在矩形图层上右击“栅格化图层”将其变为普通图层
栅格化前
栅格化后
切换回“原始PNG图片”的图层(鼠标点击该图层)用魔术棒工具选择透明区域(如果选错了,则使用Ctrl+D取消选区)
然后,把原始图层左侧的眼睛点掉,让其不可见。再点击“圆角矩形”图层,进行图层切换,然后按 Delete 键,删除选区
然后再用魔术棒按一下已经被裁剪后有颜色的部分。然后切换到“原始PNG图片”的图层,右键“存储选区”,输入 alpha(名字随意)
之后切换到“图层”旁边的“通道”面板。查看alpha通道(需要的即刚刚选中的部分设为白色,不需要的设为黑色)
最后,点亮所有通道左侧的眼睛图标,图层只显示“原始PNG图片”的图层
文件 ——> 存储为(Ctrl+Shift+S)
格式切换成BMP,然后勾选 alpha 通道(如果无法勾选,请确认是否正确执行“存储选区”)
最后选择32位,或在高级模式中选择 A8R8G8B8(翻转行列不能勾选,否则C++读不出)
注意事项
UpdateLayeredWindow
函数支持的32位带透明通道的bmp图片有点特殊,光靠上述做法,虽然可以实现bmp图像里面,包含XRGB透明通道,也能使得鼠标直接透过当前窗口,但展示出来依旧是白色
因此还需要做如下处理
首先,右下角垃圾桶左侧按钮,新建图层。然后将新建图层拖到最下方的位置
选中刚刚新建的图层,左侧调整前景色为黑色,用油漆桶填充整个图层
切换到通道选项卡,确保新建的“alpha通道”(名字可以任意)左侧的小眼睛已经被点亮,然后按之前的方式,保存为32位bmp
这是最终的图片
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)