目前我在使用:
os.chdir(album.path)
images = glob.glob('*.*')
# thumbs size
size = 80,80
for image in images:
#create thumb
file, ext = os.path.splitext(image)
im = Image.open(os.path.join(album.path,image))
im.thumbnail(size, Image.ANTIALIAS)
thumb_path = os.path.join(album.path, 'thumbs', file + ".thumb" + ".jpeg")
im.save(thumb_path)
尽管这样可以工作,但我最终得到的图像大小不同(有些是纵向的,有些是横向的),但我希望所有的图像都具有精确的尺寸。也许需要进行合理的裁剪?更新:
我不介意裁剪图像的一小部分。当我说合理的裁剪时,我的意思是像这样的算法:
if image is portrait:
make width 80px
crop the height (will be more than 80px)
else if image is landscape:
make height 80px
crop the width to 80px (will be more than 80px)
thumnail
方法旨在保留图像的宽高比。显然,您不能同时拥有两者,因为不是所有图像都具有相同的宽高比。如果您想重新调整大小而不保留比例,请考虑使用resize
。 - Has QUIT--Anony-Mousse