ImageOps.fit模糊了我的形象

时间:2012-11-03 19:37:31

标签: python image python-imaging-library

我正在使用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图像时,服务器上的结果上传模糊。尝试使用谷歌搜索,阅读文档,并进行实验,但无法弄清楚这一点。谢谢你的帮助。

1 个答案:

答案 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)