手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2020-01-27] 来源:Linux社区  作者:FloatDreamed [字体: ]

这里主要是使用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'linuxidc.com.png')
mosaic(im).show()

效果图:

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

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

    im = Image.open(r'linuxidc.com.png')
    im_thumbnail = thumbnail(im)

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

im.copy()

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

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款