【问题标题】:python save RGBA Image as BMP filepython将RGBA图像保存为BMP文件
【发布时间】: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直接格式化。

标签: python image python-imaging-library bmp


【解决方案1】:

引用维基百科:

一个集成的 alpha 通道已与 未记录的 BITMAPV3INFOHEADER 和记录的 BITMAPV4HEADER(自 Windows 95 起)一起引入,并用于 Windows XP 登录和主题系统以及 Microsoft Office(自 v2000 起) ;一些图像编辑软件支持它,例如从版本 7 开始的 Adob​​e Photoshop 和从版本 MX 2004 开始的 Adob​​e Flash(当时称为 Macromedia Flash)。 GIMP、Google Chrome、Microsoft PowerPoint 和 Microsoft Word 也支持它。

出于兼容性原因,大多数应用程序使用较旧的 DIB 标头来保存文件。

ImageMagick 似乎支持 RGBA .bmp 格式。将文件保存为 PNG,然后进行转换,或者使用 ImageMagick bindings 代替 PIL,都是您的选择。

【讨论】:

    猜你喜欢
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多