python - 如何在图像颜色为黑色时使用 Pillow 将 PNG 转换为 JPG?

标签 python png jpeg python-imaging-library file-conversion

我查看了下面的链接,了解如何将 PNG 转换为 JPG:

转换按预期进行,但是当图像颜色本身不是黑色时!我有下图: pen edit

代码是:

im.convert('RGB').save('test.jpg', 'JPEG')

它使整个画面变黑。我应该如何以正确的格式和颜色转换此 PNG?颜色可以是从黑色到白色的任何颜色。

最佳答案

像这样转换,唯一要做的就是找出要设置的背景颜色:

from PIL import Image
im = Image.open(r"C:\pathTo\pen.png")

fill_color = (120,8,220)  # your new background color

im = im.convert("RGBA")   # it had mode P after DL it from OP
if im.mode in ('RGBA', 'LA'):
    background = Image.new(im.mode[:-1], im.size, fill_color)
    background.paste(im, im.split()[-1]) # omit transparency
    im = background

im.convert("RGB").save(r"C:\temp\other.jpg")

recolored

关于python - 如何在图像颜色为黑色时使用 Pillow 将 PNG 转换为 JPG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50739732/

相关文章:

python - 如何在python中提取x509

css - IE中的PNG8黑边

python - 如何解析目录中的每个 html 文件中的图像?

video - 使用 jpg 图像从 ffmpeg 创建延时视频

python - 通过连接传播 pandas 系列元数据

python - 为什么 "ǃ".isalpha() 为 True 而 "!".isalpha() 为 False?

python - 这个 "and"语句实际上在返回中做了什么?

ios - 在 iOS 上将 UIView 导出为 png

image - PNG 压缩

qt - 将 jpeg 文件渲染到 QWidget 的最快方法是什么?