在我的程序中,我需要将.jpg
文件转换为>>> from PIL import Imag
>>> ima=Image.open("img.png")
>>> ima.save("ima.jpg")
文件,但我不想将文件保存到磁盘。
目前我使用
.jpg
但是这会将文件保存到磁盘。我不想将其保存到磁盘,但将其转换为button.setOnMouseEntered
作为对象。我该怎么办?
答案 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()