【问题标题】:How Do I Convert Palette-Based PNG with Transparency To RGB in PIL?如何在 PIL 中将具有透明度的基于调色板的 PNG 转换为 RGB?
【发布时间】:2015-09-23 03:55:33
【问题描述】:

我目前正在应用引擎中构建一个网站,将图像上传到谷歌云存储并完成我使用 python 的 PIL 的基本操作

我一直对以下图像有问题,另一个 stackoverflow 成员提到的是一个基于调色板的具有透明度的 PNG,我一直在阅读可能在 PIL 中有点错误

我的问题实际上是回到基础问题:将其转换为透明像素设置为#FFF 的 RGB 格式的最佳方法是什么?我已经能够通过组合 RGBA 然后 RGB 粘贴来让它工作,但这似乎是多余的

但是,对于直接转换,我得到了一个糟糕的透明度掩码,即使用来自 PIL Convert PNG or GIF with Transparency to JPG without 的解决方案

另外,如果有人知道为什么图像在转换后会退化为糟糕的质量,那对我来说完全是一个奖励!

【问题讨论】:

    标签: image google-app-engine png python-imaging-library google-cloud-storage


    【解决方案1】:

    一种方法是首先将文件转换为 jpg - 似乎是 png 编码(或与之相关的东西)的问题

    【讨论】:

      【解决方案2】:

      查看我使用的这个链接,并获得了从透明 PNG 到 GIF 的平滑转换:

      Convert RGBA PNG to RGB with PIL

      您要查找的函数是pure_pil_alpha_to_color_v2

      我的图片转换工具PySmile也用到了:

      https://github.com/vietlq/PySmile/blob/master/pysmile.py

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        • 2014-06-30
        • 1970-01-01
        • 2015-01-26
        • 2021-12-06
        • 1970-01-01
        相关资源
        最近更新 更多