python:从PNG转换为JPG而不使用PIL将文件保存到磁盘

时间:2015-07-14 14:27:16

标签: python python-imaging-library

在我的程序中,我需要将.jpg文件转换为>>> from PIL import Imag >>> ima=Image.open("img.png") >>> ima.save("ima.jpg") 文件,但我不想将文件保存到磁盘。 目前我使用

.jpg

但是这会将文件保存到磁盘。我不想将其保存到磁盘,但将其转换为button.setOnMouseEntered作为对象。我该怎么办?

3 个答案:

答案 0 :(得分:11)

你可以使用来自io的BytesIO来做你正在尝试的事情:

from io import BytesIO

def convertToJpeg(im):
    with BytesIO() as f:
        im.save(f, format='JPEG')
        return f.getvalue()

答案 1 :(得分:3)

改善Ivaylo的回答:

from PIL import Image
from io import BytesIO

ima=Image.open("img.png")

with BytesIO() as f:
   ima.save(f, format='JPEG')
   f.seek(0)
   ima_jpg = Image.open(f)

这样,ima_jpg就是一个Image对象。

答案 2 :(得分:0)

要在ima_jpg语句之外使用@tuxmanification的方法中的with对象,请使用Image.load()

from PIL import Image
from io import BytesIO

ima=Image.open("img.png")

with BytesIO() as f:
   ima.save(f, format='JPEG')
   f.seek(0)
   ima_jpg = Image.open(f)
   ima_jpg.load()