python – ImageOps.fit模糊了我的形象

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

最佳答案 它可能是导致模糊的抗锯齿.

怎么样尝试:

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)
点赞