我正在尝试在保持长宽比的情况下调整图像大小。我使用PIL的缩略图方法来完成这个任务,同时使用Image.ANTIALIAS过滤器。
你可以在这里查看我的代码:
image = Image.open(design.design.path)
format = image.format
image = ImageOps.mirror(image)
new_size = (241, 241)
image.thumbnail(new_size, Image.ANTIALIAS)
image.save(response, format)
这段代码在生成缩略图后,图片质量有所损失。通过放大保存的图像,我可以看到图像角落处的像素,而在原始图像上则没有这种情况。当我打印调整大小后的图像时,这种情况更加明显。你可以在这里查看样本图像:http://imgur.com/a/ifZoU。如果需要其他信息,请告诉我。
resize
不会保留宽高比?因为你在这里硬编码了宽高比为1:1,如果使用resize
也将是该宽高比。 - physicalattractionthumbnail
方法重新计算给定的大小以保持纵横比,然后调用resize
。 - ekhumoro