Python图像处理之pillow-在原图上加入缩略图

这里主要是掌握创建缩略图的方法,以及粘贴的方法

上原图:

Python图像处理之pillow-在原图上加入缩略图_第1张图片

这里我想在图片的左上角加入一个缩略图,会使得显得有层次感些,于是乎:

 

# _*_ 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'C:\Users\admin\Desktop\mainstream.png')
mosaic(im).show()


效果图:

 

Python图像处理之pillow-在原图上加入缩略图_第2张图片

期间让我烦恼的是我无法直接在将原图创建缩略图的基础上,再把缩略图放回原图了!因为我将原图创建缩略图是这样的:

 

im = Image.open(r'C:\Users\admin\Desktop\mainstream.png')
im_thumbnail = thumbnail(im)

此时的im已经不是原来的im了,想必大家已经知道了,此时的im已经是缩略图了
最后我得知了一个方法就是

im.copy()

 

想考陪几个就考培几个,都不会影响原图的!!!

你可能感兴趣的:(Python)