【发布时间】:2013-12-14 01:40:19
【问题描述】:
我正在使用 PIL 调整上传到服务器的图像大小。我尝试了一种简单的算法来调整最长边上的图像大小。但是当图像是肖像时,它会裁剪顶部的一部分。我想我在数学公式中犯了一个错误。任何帮助将不胜感激。
def scale_to_size(im1, local_image, size):
width = int(config['image_sizes'][size]['width'])
height = int(config['image_sizes'][size]['height'])
wpercent = int((width/float(im1.size[0])))
hsize = int((float(im1.size[1])*float(wpercent)))
im2 = im1.resize((wpercent, hsize), Image.ANTIALIAS)
scaled_img = _rewrite_file_name(local_image, size)
im2.save(scaled_img)
return scaled_img
def _rewrite_file_name(path, size):
fileName, fileExt = os.path.splitext(path)
return fileName + "_" + size + fileExt
if __name__ == '__main__':
size = 'medium'
img = '/Users/.../tmp/photo.JPG'
im1 = Image.open(img)
scale_to_size(im1, img, size)
宽度: 小号:180 中:300 大:600
我尝试过使用缩略图,但效果不佳。
【问题讨论】:
标签: python image python-imaging-library image-resizing