Python图像处理库Pillow入门-在原图上加入缩略图


这里主要是使用Python图像处理库Pillow创建缩略图的方法,以及粘贴的方法

上原图:

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'linuxboy.net.png')
mosaic(im).show()

效果图:

Python图像处理库Pillow入门-在原图上加入缩略图

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

    im = Image.open(r'linuxboy.net.png')
    im_thumbnail = thumbnail(im)

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

im.copy()

想复制几个就复制几个,都不会影响原图的。

https://www.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2020-01/162138.htm

相关内容