为什么在python中调整图像大小会删除image.format?

为什么在python中调整图像大小会删除image.format?,python,python-imaging-library,pillow,Python,Python Imaging Library,Pillow,我正在用python调整图像的大小 image = Image.open("image_file.jpg") print(image.format) # Prints JPEG resized_image = image.resize([100,200],PIL.Image.ANTIALIAS) print(resized_image.format) # Prints None!! 为什么已调整大小的\u image.format包含无值 使用pillow调整大小时如何保留格式?因为创建

我正在用python调整图像的大小

image = Image.open("image_file.jpg")

print(image.format) # Prints JPEG

resized_image = image.resize([100,200],PIL.Image.ANTIALIAS)

print(resized_image.format) # Prints None!!
为什么
已调整大小的\u image.format
包含

使用pillow调整大小时如何保留格式?

因为创建了一个新对象(图像的已调整大小副本),而对于库本身创建的任何图像(通过工厂函数,或通过在现有图像上运行方法),则“”属性设置为

如果需要“格式”属性,仍然可以执行以下操作:

image = Image.open("image_file.jpg") #old image object
resized_image = image.resize([100,200],PIL.Image.ANTIALIAS)
resized_image.format = image.format # original image extension

如中所述:

源文件的文件格式。对于库本身创建的图像(通过工厂函数,或通过对现有图像运行方法),此属性设置为“无”

您可以在保存时指定格式:

image.save(fp, 'JPEG')

可以使用“保存注释”保存调整大小的图像

resized_image.save("New_image.png")
它将保存到您当前的目录中

如果您想在python控制台中看到它本身,那么必须运行

resized_image.show()

如果您担心无法将新图像保存为jpg,请继续尝试-我非常确定
已调整大小的图像。save(“output.jpg”)
即使在
已调整大小的图像时也能工作。format
不是“JPEG”。@Kevin是的,它是:)尽管我认为应该在调整大小时传递format属性