python PIL/Pillow图像扩展、复制、粘贴处理

来源:互联网 发布:高清混合矩阵由谁控制 编辑:程序博客网 时间:2024/05/21 13:58

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

注:
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))# 保存图片2img2.save('heben_new.jpg')

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

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

参考资料:
1、http://blog.csdn.net/yuanyangsdo/article/details/60957685 2017.9.30
2、http://www.cnblogs.com/apexchu/p/4231041.html 2017.9.30
3、http://blog.csdn.net/ln152315/article/details/42777149 2017.9.30

原创粉丝点击