簡體   English   中英

python:從PNG轉換為JPG而不使用PIL將文件保存到磁盤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM