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