1. 首页

Python 生成你的朋友圈九宫格图片

你可能在朋友圈看过九宫格图片(把一张图片按照比例分成九份),就像这样的:
image.png
还有微博九宫格图 [https://weibo.com/2717930601/…][9] :
image.png

这种九宫格图片怎么发的呢?下面用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张小图。
image.png

还可以将代码打包为exe可执行文件,这样不用安装Python就可以运行了。

pyinstaller 打包exe

打包用的工具是pyinstaller,先pip install pyinstaller安装它,然后pyinstaller -F pic.py ,不过我运行的时候出错了。
image.png


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.

image.png

PIL除了切割图片还可以对照片去色。


img = Image.open("jay.jpg") img2 = img.convert("L") img2.save("jay2.jpg")

去色效果图:
JavaScript中文网是一家以JavaScript资源分享为主的专业网站

对照片旋转90度。


img3 = img.rotate(90) img3.save("jay_rotate.jpg")

旋转效果图:
img_rotate.jpg

对照片翻转。


img4 = img.transpose(Image.FLIP_LEFT_RIGHT) img4.save("jay_transpose.jpg")

翻转效果图,周杰伦七里香几个字翻过来了:
img_transpose.jpg

除了使用Python 也有在线工具和微信小程序可以生成九宫格图片 https://www.dute.org/image-clip ,上传图片下载即可。
image.png

作者:苏生不惑
链接:https://segmentfault.com/a/1190000025127287

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:Python 生成你的朋友圈九宫格图片

链接:https://www.javascriptc.com/4278.html

« vueJs 渲染大量数据时应该怎么优化?
你知道Vue3为什么这么快吗»
Flutter 中文教程资源

相关推荐

QR code