你可能在朋友圈看过九宫格图片(把一张图片按照比例分成九份),就像这样的:
还有微博九宫格图 [https://weibo.com/2717930601/…][9] :
这种九宫格图片怎么发的呢?下面用Python搞定它,Python是门很简单实用的语言,即使不做开发工作也可以学习下, 都是用的Python,之后我会写一篇如何使用Python来抓取数据,代码非常简单,只要你认识英文字母就会用。
PIL处理图片
先用pip安装切割图片的库 PIL pip install Pillow
, 然后编辑代码:
from PIL import Image,ImageSequence,ImageFilter
pic = input("请输入图片文件名:")
im = Image.open(pic)
width = im.size[0]//3
height = im.size[1]//3
x = 0
y = 0
filename = 1#保存的文件名
for i in range(3):
for j in range(3):
crop = im.crop((x, y, x+width, y+height))
crop.save(str(filename) + '.jpg')
x += width
filename += 1
x = 0
y += height
Js中文网 – 前端进阶资源教程 www.javascriptC.com,typescript 中文文档
一个帮助开发者成长的社区,你想要的,在这里都能找到
直接命令行执行 python pic.py ,输入图片文件名即可在本地生成9张小图。
还可以将代码打包为exe可执行文件,这样不用安装Python就可以运行了。
pyinstaller 打包exe
打包用的工具是pyinstaller,先pip install pyinstaller
安装它,然后pyinstaller -F pic.py
,不过我运行的时候出错了。
for real_module_name, six_module_name in real_to_six_module_name.items():
AttributeError: 'str' object has no attribute 'items'
谷歌了下需要升级库。
λ pip install -U setuptools
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/6d/ed/52e05469314a266f68d9f251a8c1ab7a21a03327b1724056e3eea654bfd1/setuptools-50.0.3-py3-none-any.whl (784kB)
Installing collected packages: setuptools
Found existing installation: setuptools 41.2.0
Uninstalling setuptools-41.2.0:
Successfully uninstalled setuptools-41.2.0
Successfully installed setuptools-50.0.3
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 更新pip版本
python -m pip install -U pip
λ pip uninstall enum34
Uninstalling enum34-1.1.6:
Would remove:
d:\python\lib\site-packages\enum34-1.1.6.dist-info\*
d:\python\lib\site-packages\enum\*
Proceed (y/n)? y
Successfully uninstalled enum34-1.1.6
"""
再次执行pyinstaller -F pic.py
终于成功了,不过生成的exe文件有点大(20多MB,公众号后台回复 朋友圈
获取exe文件),双击exe文件输入文件名就可以运行了。 [https://www.lanzoux.com/iWtJN…][12]
60106 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
60112 INFO: Bootloader d:\python\lib\site-packages\PyInstaller\bootloader\Windows-32bit\run.exe
60114 INFO: checking EXE
60115 INFO: Building EXE because EXE-00.toc is non existent
60115 INFO: Building EXE from EXE-00.toc
60115 INFO: Appending archive to EXE d:\download\dist\pic.exe
60279 INFO: Building EXE from EXE-00.toc completed successfully.
PIL除了切割图片还可以对照片去色。
img = Image.open("jay.jpg")
img2 = img.convert("L")
img2.save("jay2.jpg")
去色效果图:
对照片旋转90度。
img3 = img.rotate(90)
img3.save("jay_rotate.jpg")
旋转效果图:
对照片翻转。
img4 = img.transpose(Image.FLIP_LEFT_RIGHT)
img4.save("jay_transpose.jpg")
翻转效果图,周杰伦七里香几个字翻过来了:
除了使用Python 也有在线工具和微信小程序可以生成九宫格图片 https://www.dute.org/image-clip ,上传图片下载即可。
作者:苏生不惑
链接:https://segmentfault.com/a/1190000025127287
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com