【发布时间】:2014-10-23 07:29:28
【问题描述】:
我想知道你们是否知道如何使用 PIL 方法正确缩放图像,我读过,我知道: im.resize(size_tuple) 但是一旦缩放,我的图像就会一直不完整,这是我的代码和结果图片,希望您能帮助我,谢谢
if image_size[0] < 120 and image_size[1] < 155:
image = image.resize((120,155),Image.ANTIALIAS)
image.save(f_out)
代码保存了我调整大小的图像,但它在底部显示一条黑线,图像被裁剪且不完整,任何想法如何解决这个问题?提前致谢
更新: 这是我正在使用的完整代码
def makeThumb(f_in, f_out, size=(120,155), pad=False):
image = Image.open(f_in)
avatar_size = (120,155)
image_size = image.size
method = Image.NEAREST if image_size == avatar_size else Image.ANTIALIAS
if pad:
thumb = image.crop( (0, 0, size[0], size[1]) )
offset_x = max( (size[0] - image_size[0]) / 2, 0 )
offset_y = max( (size[1] - image_size[1]) / 2, 0 )
thumb = ImageChops.offset(thumb, offset_x, offset_y)
else:
if image_size[0] < 120 and image_size[1] < 155:
image = image.resize((120,155),Image.ANTIALIAS)
image.save(f_out)
else:
thumb = ImageOps.fit(image, size, method,0.05,(0.5, 0.5))
【问题讨论】:
-
您的图片是否包含透明度?您可以在某处发布示例吗?
-
它对我有用。您打开图像的方式有什么奇怪的吗?是 JPEG 格式还是其他格式?
-
这是 JPEG 文件我编辑上面的代码以显示我正在使用的所有代码
标签: python image scale python-imaging-library