[英]python: Convert from PNG to JPG without saving file to disk using PIL
在我的程序中,我需要將.png
文件轉換為.jpg
文件,但我不想將文件保存到磁盤。 目前我使用
>>> from PIL import Imag
>>> ima=Image.open("img.png")
>>> ima.save("ima.jpg")
但這會將文件保存到磁盤。 我不想將其保存到磁盤,而是將其轉換為.jpg
作為對象。 我該怎么做?
您可以使用 io 中的 BytesIO 執行您正在嘗試的操作:
from io import BytesIO
def convertToJpeg(im):
with BytesIO() as f:
im.save(f, format='JPEG')
return f.getvalue()
改進 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 對象。
要在with
語句之外的@tuxmanification 方法中使用ima_jpg
對象,請使用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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.