的Python / Django的PNG,GIF为JPG(Python/Django png,gif

2019-10-19 22:15发布

我使用Django的1.6.2和Python 3.3.5和2.3.0枕头。

什么是一个PNG / GIF图像转换为在Django的jpg图片的最佳途径,使输出文件几乎是一样的上传的文件? (透明度=>白)

我已经尝试了几个类似的解决方案:

import Image
im = Image.open("infile.png")
im.save("outfile.jpg")

要么

from PIL import Image
im = Image.open("file.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im,im)
bg.save("file.jpg")

问题是,我发现它处理GIF,PNG(锋芒毕露面膜,软边遮罩)没有满意的解决方案。

有任何想法吗?

编辑:

好吧,我使用ImageKit ,究竟是我想做的事情呢。

Answer 1:

采用:

from PIL import Image
im = Image.open("file.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im, (0,0), im)
bg.save("file.jpg", quality=95)
  • 在第二图像中传递bg.paste(im, (0,0), im)允许IM的alpha通道来充当掩模在你的背景图像。
  • 坐标(0,0)完美贴你的形象在你的背景
  • bg.save("file.jpg", quality=95) ; quality=95确保了从最高质量的PIL


文章来源: Python/Django png,gif to jpg