此32位bmp https://drive.google.com/open?id=1thySBsggtdihd3LByiAwQwZmVo1lzZfl具有透明性。但是由于某些原因,我的图像查看器/编辑器都不显示透明性。
我该如何修复此bmp?
您的BMP文件未正确编码以支持透明性。
取决于压缩方法,默认的RGB方法支持24位颜色,但是BITFIELDS压缩支持32位颜色(24位+ alpha通道)。
根据Wikipedia:对于BI_BITFIELDS
,标头地址1Eh
的值应为3
。地址36h
,3Ah
,3Eh
,42h
值定义掩码:
36h 4 00 00 FF 00 00FF0000 Red channel bit mask (BI_BITFIELDS)
3Ah 4 00 FF 00 00 0000FF00 Green channel bit mask (BI_BITFIELDS)
3Eh 4 FF 00 00 00 000000FF Blue channel bit mask (BI_BITFIELDS)
42h 4 00 00 00 FF FF000000 Alpha channel bit mask
您可以在线分析图像的元数据here
您的文件分析结果,压缩为无:File Name: BLUE_CLOSEBUTTON_BMP.bmp
File Size: 14 kB
...
Compression: None
我使用GIMP保存具有透明度的BMP(使用GIMP创建)。
分析结果,压缩为位域:
File Name: 1.bmp
File Size: 14 kB
Compression: Bitfields
...
Red Mask: 0xff000000
Green Mask: 0x00ff0000
Blue Mask: 0x0000ff00
Alpha Mask: 0x000000ff