2012-11-03 19 views
3

我正在使用ImageOps调整并居中裁剪上传的头像图像。问题是,当我尝试上传已经是所需尺寸的图像时,上传的图像模糊不清。ImageOps.fit模糊了我的图像

相关的代码:

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图像,在服务器上生成的上传模糊。尝试使用Google,阅读文档和试验,但无法弄清楚。谢谢您的帮助。

回答

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) 
+0

工作就像一个魅力。非常感谢。 – Justin