from PIL import Image
myImg = request.FILES['docfile']
myImg = Image.open(myImg)
print(myImg.format, myImg.size, myImg.mode)
myImg = myImg.resize((50, 50))
print(myImg.format, myImg.size, myImg.mode)
以下是(django/python 3.5)代碼的刪節版本。目標是調整圖像大小(我不想爲此使用縮略圖),但將其保存在內存中,而不是將其保存到磁盤(因爲我必須將其傳回到陣列中)。在使用PIL調整大小時丟失圖像格式
無論如何,這裏有2頁打印的結果:
PNG (1300, 1300) RGBA
None (50, 50) RGBA
正如你所看到的,格式調整大小後丟失。我該如何保存它?
如果您使用的是原來的Python成像模塊,而不是枕頭叉,鏈接到文檔http://www.effbot.org/ imagebook/image.htm#tag-Image.Image.format – mpursuit
好的謝謝你的回答。我如何將圖像編碼回PNG?強制格式爲PNG的確顯示了「PNG」,但圖像仍然是樣式而不是「imagename.png」。有沒有辦法在內存中做到這一點? –
@RobertBrax呃,你必須在其上調用'.save(output,format ='PNG')'。如果你想保存到內存中,我想你應該嘗試將''BytesIO'](https://docs.python.org/2/library/io.html#io.BytesIO)作爲'output'而不是真正的文件。 – kirelagin