python 之生成图片缩略图

󰃭 2016-05-23

Python的图片缩放

Image 模块

python 使用PIL 作为内置的图片处理工具包, 其中的Image 模块可以对图片做一些处理,这里我们说一下他的缩放功能

实现

img = Image.open(img_full_path)
img_height = img.size[1]
img_width = img.size[0]

这样我们就获得了图片的原始的heightwidth, 如果

如果要对图片进行缩放, 比如, 将图片缩放到原来的一半

img.thumbnail((int(0.5 * img_width), int(0.5 * img_height)),Image.ANTIALIAS)
img.save(thumb_file_path)

这样就缩放了一半,Image.ANTIALIAS表示的是重采样的模式

如果指定了缩略图的宽度而等比例缩略的话, 根据原有图片的长宽比也能计算出缩略图的高, 继而缩略

注意

如果只是对图片进行缩小处理的话, thumbnail 完全够用, 但如果是放大的话, thumbnail 可能并不会完全按照你指定的size进行放大,他可能会做一些微小的调整, 而resize 则可以完全依照指定宽高放大, 也能缩小, 所以我们在这里可以用resize直接替换thumbnail