美文网首页人生代码码农的世界
初学Python-简单的,在图片上加png(logo)

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

作者: 向xiao葵 | 来源:发表于2018-08-07 17:48 被阅读12次

    昨天尝试了在图片上添加文字(传送门:初学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

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

    相关文章

      网友评论

        本文标题:初学Python-简单的,在图片上加png(logo)

        本文链接:https://www.haomeiwen.com/subject/cnuavftx.html