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

2024-05-18 12:04:35 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的程序中,我需要将.png文件转换为.jpg文件,但我不想将文件保存到磁盘。 目前我使用

>>> from PIL import Imag
>>> ima=Image.open("img.png")
>>> ima.save("ima.jpg")

但这会将文件保存到磁盘。我不想将此保存到磁盘,但要将其转换为作为对象的.jpg。我该怎么做?


Tags: 文件对象fromimageimport程序imgpil
2条回答

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就是一个图像对象。

您可以使用io中的BytesIO执行您正在尝试的操作:

from io import BytesIO

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

相关问题 更多 >