PIL vs Pillow
PIL: Python Imaging Library,是python的图像处理库。由于PIL不兼容setuptools,再加上更新缓慢等因素,Alex Clark等一些社区好心人还是希望能够继续支持PIL,所以fork了PIL,这就是Pillow的缘起。
Pillow的目标
推动和促进PIL的发展是Pillow的目标,主要通过如下的方式来进行
- 结合Travis CI和AppVeyor进行持续集成测试
- 活用github进行开发
- 结合Python Package Index进行例行发布
其实可以看出,所做的改善就是在CI和CD,改善用户感知,定期/快速地与使用者进行沟通和交流,是pillow获得好感的一个重要因素。
安装
安装可以通过pip,只需要执行pip install pillow即可
liumiaocn:~ liumiao$ pip install pillow Collecting pillow Downloading https://files.pythonhosted.org/packages/df/aa/a25f211a4686f363d8ca5a1752c43a8f42459e70af13e20713d3e636f0af/Pillow-5.1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.6MB) 100% |████████████████████████████████| 3.6MB 157kB/s Installing collected packages: pillow Successfully installed pillow-5.1.0 liumiaocn:~ liumiao$
安装确认
liumiaocn:~ liumiao$ pip show pillow Name: Pillow Version: 5.1.0 Summary: Python Imaging Library (Fork) Home-page: https://python-pillow.org Author: Alex Clark (Fork Author) Author-email: aclark@aclark.net License: Standard PIL License Location: /usr/local/lib/python2.7/site-packages Requires: Required-by: liumiaocn:~ liumiao$
使用
图形库有很多实用的功能,这里列举几个进行简单演示。
ImageGrab.grab()
使用这个方法可以实现抓屏:
liumiaocn:tmp liumiao$ cat grab.python #!/usr/local/bin/python from PIL import ImageGrab #get current screen copy image = ImageGrab.grab() #display image size print("Current screen shot size :",image.size) #display image mode print("Screen shot picture mode :", image.mode) #save picture to /tmp/screen-grab-1.bmp image.save('/tmp/screen-grab-1.bmp') #show picture image.show() liumiaocn:tmp liumiao$
因为代码中使用了image.show()进行了显示,执行之后可以直接看到显示,同时也能确认到/tmp下所生成的文件
liumiaocn:tmp liumiao$ python grab.python ('Current screen shot size :', (2880, 1800)) ('Screen shot picture mode :', 'RGBA') liumiaocn:tmp liumiao$ ls -l /tmp/screen-grab-1.bmp -rw-r--r-- 1 liumiao wheel 20736054 Jun 23 05:41 /tmp/screen-grab-1.bmp liumiaocn:tmp liumiao$
滤镜
PIL中的ImageFilter支持近十种滤镜, 比如对刚刚抓取的图片使用CONTOUR滤镜
liumiaocn:tmp liumiao$ cat filter-contour.py #!/usr/local/bin/python from PIL import ImageFilter, Image src_image = Image.open('/tmp/screen-grab-1.bmp') print("begin to filter the pic") dst_image = src_image.filter(ImageFilter.CONTOUR) print("picture through filter") dst_image.show() liumiaocn:tmp liumiao$
执行之后可以得到如下图片
旋转
使用rotate即可对图片进行旋转操作:
liumiaocn:tmp liumiao$ cat rotate.py #!/usr/local/bin/python from PIL import Image src_image = Image.open('/tmp/screen-grab-1.bmp') print("begin to rotate the pic") dst_image = src_image.rotate(90) print("picture after rotating") dst_image.show() liumiaocn:tmp liumiao$
执行之后,即可确认
Pillow功能非常之多,而且使用也很方便,比如resize对尺寸进行调节,还可以添加文字等等常见的图形处理操作,这里就不再一一介绍,具体的需要可以参看如下链接进行了解:https://pypi.org/project/Pillow/
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]