初学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-简单的,在图片上加png(logo)_第1张图片
约泰 水印


初学Python-2018.08.07

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

你可能感兴趣的:(初学Python-简单的,在图片上加png(logo))