我正在使用ImageOps来调整大小和中心裁剪上传的头像图像。问题是,当我尝试上传已经达到所需尺寸的图像时,上传的图像会模糊不清。
相关代码:
avatar_size = (59,59)
#resized_im = im.resize(avatar_size, Image.ANTIALIAS) #This works! But doesn't crop.
formatted_im = ImageOps.fit(im, avatar_size, Image.ANTIALIAS, centering=(0.5,0.5))
formatted_im.save('foo.jpg', 'JPEG', quality=95)
因此,当我上传59x59px图像时,服务器上的结果上传模糊。尝试使用谷歌搜索,阅读文档,并进行实验,但无法弄清楚这一点。谢谢你的帮助。
答案 0 :(得分:7)
可能是导致模糊的抗锯齿。 怎么样尝试:
avatar_size = (59,59)
method = Image.NEAREST if im.size == avatar_size else Image.ANTIALIAS
formatted_im = ImageOps.fit(im, avatar_size, method = method, centering = (0.5,0.5))
formatted_im.save('foo.jpg', 'JPEG', quality=95)