python使用pil库实现图片合成实例代码


Posted in Python onJanuary 20, 2018

本文研究的主要是python PIL实现图片合成的相关内容,具体介绍如下,分享实例代码。

在项目中需要将两张图片合在一起。遇到两种情况,一种就是两张非透明图片的合成, 一种是涉及到透明png的合成。

相关API见 http://pillow.readthedocs.io/en/latest/reference/Image.html

第一种情况,直接将两张图片合在一起就可以了。如下图所示,将两张图片合在一起

python使用pil库实现图片合成实例代码+python使用pil库实现图片合成实例代码=python使用pil库实现图片合成实例代码

详细代码

from PIL import Image
 #加载底图
 base_img = Image.open(ur'D:\Desktop\1.png')
 # 可以查看图片的size和mode,常见mode有RGB和RGBA,RGBA比RGB多了Alpha透明度
 # print base_img.size, base_img.mode
 box = (166, 64, 320, 337) # 底图上需要P掉的区域

 #加载需要P上去的图片
 tmp_img = Image.open(ur'D:\Desktop\2.png')
 #这里可以选择一块区域或者整张图片
 #region = tmp_img.crop((0,0,304,546)) #选择一块区域
 #或者使用整张图片
 region = tmp_img

 #使用 paste(region, box) 方法将图片粘贴到另一种图片上去.
 # 注意,region的大小必须和box的大小完全匹配。但是两张图片的mode可以不同,合并的时候回自动转化。如果需要保留透明度,则使用RGMA mode
 #提前将图片进行缩放,以适应box区域大小
 # region = region.rotate(180) #对图片进行旋转
 region = region.resize((box[2] - box[0], box[3] - box[1]))
 base_img.paste(region, box)
 #base_img.show() # 查看合成的图片
 base_img.save('./out.png') #保存图片

第一种情况时候规则的图片进行合并,比如矩形,难以对于任意形状的图片。对于任意形状的合并可以考虑使用透明的PNG来完成。

第二种情况,将非透明的图片放在底部,上面放一张局部透明的png图片,然后合成一张图片。

python使用pil库实现图片合成实例代码python使用pil库实现图片合成实例代码python使用pil库实现图片合成实例代码

代码

from PIL import Image
 #加载中间透明的手机图片
 base_img = Image.open(ur'D:\Desktop\3.png')
 #新建透明底图,大小和手机图一样,mode使用RGBA,保留Alpha透明度,颜色为透明
 #Image.new(mode, size, color=0),color可以用tuple表示,分别表示RGBA的值
 target = Image.new('RGBA', base_img.size, (0, 0, 0, 0))
 box = (166, 64, 320, 337) #区域
 # 加载需要狐狸像
 region = Image.open(ur'D:\Desktop\4.png')
 region = region.rotate(180) #旋转180度
 #确保图片是RGBA格式,大小和box区域一样
 region = region.convert("RGBA")
 region = region.resize((box[2] - box[0], box[3] - box[1]))
 #先将狐狸像合成到底图上
 target.paste(region,box)
 #将手机图覆盖上去,中间透明区域将狐狸像显示出来。
 target.paste(base_img,(0,0),base_img) #第一个参数表示需要粘贴的图像,中间的是坐标,最后是一个是mask图片,用于指定透明区域,将底图显示出来。
 # target.show()
 target.save('./out.png') # 保存图片

总结

以上就是本文关于python PIL实现图片合成实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
深入源码解析Python中的对象与类型
Dec 11 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
Python队列的定义与使用方法示例
Jun 24 Python
Python机器学习logistic回归代码解析
Jan 17 Python
python如何实现一个刷网页小程序
Nov 27 Python
python+opencv实现阈值分割
Dec 26 Python
python 利用文件锁单例执行脚本的方法
Feb 19 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
Django中使用MySQL5.5的教程
Dec 18 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
python方向键控制上下左右代码
Jan 20 #Python
Python线程创建和终止实例代码
Jan 20 #Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
Jan 20 #Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 #Python
浅谈flask中的before_request与after_request
Jan 20 #Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 #Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 #Python
You might like
pw的一个放后门的方法分析
2007/10/08 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
jQuery each()小议
2010/03/18 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
Python函数式编程指南(二):从函数开始
2015/06/24 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
铭立家具面试题
2012/12/06 面试题
食堂采购员岗位职责
2014/03/17 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
导游词之襄阳古城
2019/09/27 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏