python PILPillow图像扩展、复制、粘贴处理

    xiaoxiao2021-03-25  114

    遇到这么一个问题: 给自己的博客修改头像,头像必须是正方形图片,但我找了个长方形图片,那么问题来了,怎么把长方形图片修改成正方形图片。

    注: 1、不想拉伸图片,这样会使图片失真。 2、不想用PS(当然我知道用PS处理应该会很简单,但是我就不用,因为我不会。。。))

    言归正传,通过网上查资料,终于找到了方法。

    直接解释代码:

    #-*- coding: utf-8 -*- from PIL import Image # 创建需要修改的图片对象 img1 = Image.open('.\heben.jpg') # 创建一个新的图片对象 img2 = Image.new('RGB', (402, 402), (0, 0, 0)) # 圈出需要复制的图片框(这里其实是复制img整个图片) box1 = (0, 0, 268, 402) # 按圈出的框复制图片 region = img1.crop(box1) # 很多文档都有这一步, 这一步其实是为了显示图片被复制了,将复制的图片框旋转显示,具体旋转的情况,可以参见:http://hereson.iteye.com/blog/2224334 # region = region.transpose(Image.FLIP_TOP_BOTTOM) # 粘贴图片(注意粘贴图片的位置,是从图片2的中间开始粘贴的) img2.paste(region, (67, 0)) # 保存图片2 img2.save('heben_new.jpg')

    注: crop函数带的参数为(起始点的横坐标,起始点的纵坐标,宽度,高度) paste函数的参数为(需要修改的图片,粘贴的起始点的横坐标,粘贴的起始点的纵坐标)

    具体Pillow模块的其它用法,可以网上查,比如:http://www.cnblogs.com/apexchu/p/4231041.html 但是需要注意一点:这类用法在看时最好能结合实践,否则这种图片类的操作,光看是很难理解的。

    转载请注明原文地址: https://ju.6miu.com/read-10373.html

    最新回复(0)