初学Python-简单的,在图片上加png(logo)

昨天尝试了在图片上添加文字(传送门:初学Python-简单的在图片上加文字

今天就来尝试在图片上添加png

为什么是png图片?jpg可以不?

当然是可以的!

但是考虑到,logo一般为了好看,都采用底部透明的png文件,而且png比jpg处理的方式还复杂一丢丢。

所以这里就以png为代表来做案例。

实现方式

1.引入PIL函数库(不具体说)

如何在windows安装PIL库,具体可看:初学Python-windows安装PIL库


2.打开图片(不具体说)

方法:Image.open()


3.设置png图片属性

这部分是自定义内容,不是必须的,可以不加这部分代码的。根据实际需求进行调整!

案例中大概列了几个调整的地方:

① 重新设置png图片的尺寸大小:resize()

② 对png分离颜色通道

这一步很重要!如果不获取颜色通道,就没办法保持png透明底的属性。(具体原理其实宝宝也不太理解)

而对于jpg图片来说,没有透明底的问题,这一行代码是不需要的!加上会报错滴!

③ 确定png要放置在image图片的哪个位置

这里定义的是相对位置。根据image和png图片的大小,将png放在image图片的右下角,且边距为20px

4.将png粘贴到image图片上,并保存

方法:paste(),将png粘贴在image的(x,y)位置上

这里有个重要的参数:mask,默认不传入。我们要将上面对png颜色通道分离出来的“a”值作为参数赋予mask。

(不要问我为什么,宝宝也不知道!但知道,加上这个参数后,透明的png不再是黑黑的。自行试验。同样jpg图片是不需要传入这个参数滴!)

将粘贴好的image图片保存起来就可以啦!保存格式可以是png,也可以是jpg

执行效果

看到logo没,就这样加上去的。

(哭)因为我们产品的logo是透明底,所以要做一些额外处理。单纯是两个jpg图片合并的话,设置好大小之后,直接调用paste()方法就好了。

约泰 水印


初学Python-2018.08.07

慢慢努力,每天学得一点是一点,给自己加油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容