python将RGBA图像保存为BMP文件
Posted
技术标签:
【中文标题】python将RGBA图像保存为BMP文件【英文标题】:python save RGBA Image as BMP file 【发布时间】:2017-03-03 20:41:19 【问题描述】:看起来 PIL 不支持 RGBA .bmp 文件。
当我保存图像时,透明像素会转换为黑色像素。
所有可能的是将图像保存为 .png 或其他文件,但我真的需要它作为 .bmp 那么有没有其他方法可以在python中创建RGBA bmp文件?
【问题讨论】:
考虑简单地将数据自己写入非常简单的 PAM 格式 en.m.wikipedia.org/wiki/Netpbm#PAM_graphics_format,然后使用 ImageMagick 将其转换为 PNG 或其他支持透明度的东西 - 简单如 @ 987654323@. BMP 本身也是一种相当简单的格式(特别是如果您只需要关心 32 位 RGBA 值),所以如果您沿着这条路走,您不妨只写 BMP直接格式化。 【参考方案1】:引用***:
一个集成的 alpha 通道已与 未记录的 BITMAPV3INFOHEADER 和记录的 BITMAPV4HEADER(自 Windows 95 起)一起引入,并用于 Windows XP 登录和主题系统以及 Microsoft Office(自 v2000 起) ;一些图像编辑软件支持它,例如从版本 7 开始的 Adobe Photoshop 和从版本 MX 2004 开始的 Adobe Flash(当时称为 Macromedia Flash)。 GIMP、Google Chrome、Microsoft PowerPoint 和 Microsoft Word 也支持它。
出于兼容性原因,大多数应用程序使用较旧的 DIB 标头来保存文件。
ImageMagick 似乎支持 RGBA .bmp 格式。将文件保存为 PNG,然后进行转换,或者使用 ImageMagick bindings 代替 PIL,都是您的选择。
【讨论】:
以上是关于python将RGBA图像保存为BMP文件的主要内容,如果未能解决你的问题,请参考以下文章