使用Python PIL模块处理图片
博客专区 > 唐佳 的博客 > 博客详情
使用Python PIL模块处理图片
唐佳 发表于4个月前
使用Python PIL模块处理图片
  • 发表于 4个月前
  • 阅读 34
  • 收藏 2
  • 点赞 0
  • 评论 1

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 使用Python PIL模块将2张图片,其中一张为png透明图片,叠加合成一张拥有2张图片元素的新图片

首先,最重要的是下载PIL模块。

window使用pip intall PIL下载不下来的可以可在官网下载:

http://pythonware.com/products/pil/

很遗憾,我用的windows系统,并且一直在努力学习新版本的Python 3.X,所以出现了以下这种情况。

不过我找到了解决方法,以下:

pip install pillow

PIL模块在python3.X已经替换为pillow模块(文档:http://pillow.readthedocs.org/en/latest/),直接使用pip3 install pillow即可安装模块,导入时使用from PIL import Image.

下载的过程会非常艰难,多次连不上或者找不到,不过多试几次就好了,没有耐心的同志可以自己找源文件下载。

 

下面进入正文(代码是抄的,自己执行了一下,发现还挺好用):

# coding=utf8

from PIL import Image

#读取底片

imp = Image.open('bg_div.png')

#读取要粘贴的图片 RGBA模式

imq = Image.open('下载 (2).png')

#分离通道
r,g,b,a = imq.split()

#粘贴
imp.paste(imq,(0, 0, imp.size[0], imp.size[1]),mask = a)

# 显示:
imp.show()

# 保存
imp.save("myimg.png")

图片处理前:

处理后:

难点:

RGBA透明图片的处理,一般教程中都只提到在底图上贴一张图片,然后保存即可。然而对于透明的png图片,alpha通道不会被贴上去,保存后丢失透明效果。

重点:

虽然只是用到了PIL模块里面的冰山一角,但是还是需要自己努力的去全面的学习这个模块的知识,也许哪天会用到。

 

参考资料:

  1. http://www.cnblogs.com/python-nameless/p/6283855.html【Python3.X可以使用pillow代替PIL】
  2. http://pythonware.com/products/pil/【Python 2.X在windows系统可以在此链接下载】
  3. https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000【廖雪峰大神关于此的教程】
  4. http://blog.csdn.net/robinzhou/article/details/6960345【使用python处理RGBA格式的透明图片的粘贴(重要)】
  5. http://effbot.org/imagingbook/introduction.htm【PIL官方文档】
  6. http://blog.csdn.net/yjwx0018/article/details/52852067【PIL (Python Imaging Library) 教程】

 

共有 人打赏支持
粉丝 4
博文 30
码字总数 18349
评论 (1)
秦maoren
��
×
唐佳
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: