这里主要是使用Python图像处理库Pillow创建缩略图的方法,以及粘贴的方法
上原图:
这里我想在图片的左上角加入一个缩略图,会使得显得有层次感些,于是乎:
# _*_ coding:utf-8 _*_ from PIL import Image __author__ = 'admin' ''' 在原图上加入缩略图 ''' def thumbnail(im): # 缩略图大小 size = (200, 200) try: # 创建后的缩略图大小不一定就是200x200的,是按照原图比例来的 im.thumbnail(size) return im except IOError: print(u"无法创建缩略图!") def mosaic(im): im0 = im.copy() width_im, height_im = im0.size # 调用thumbnail创建缩略图 im_thumbnail = thumbnail(im0) # 获取缩略图大小 width_thumbnail, height_thumbnail = im_thumbnail.size # 避免出现原图比缩略图尺寸还小的情况 if width_im > width_thumbnail and height_im > height_thumbnail: im.paste(im_thumbnail, (0, 0, width_thumbnail, height_thumbnail)) return im im = Image.open(r'linuxidc.com.png') mosaic(im).show()
效果图:
期间让我烦恼的是我无法直接在将原图创建缩略图的基础上,再把缩略图放回原图了!因为我将原图创建缩略图是这样的:
im = Image.open(r'linuxidc.com.png')
im_thumbnail = thumbnail(im)
此时的im已经不是原来的im了,想必大家已经知道了,此时的im已经是缩略图了
最后我得知了一个方法就是
im.copy()
想复制几个就复制几个,都不会影响原图的。