前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何发一条九宫格图片的朋友圈

如何发一条九宫格图片的朋友圈

作者头像
苏生不惑
发布2020-09-10 14:55:33
6450
发布2020-09-10 14:55:33
举报
文章被收录于专栏:苏生不惑

你可能在朋友圈看过九宫格图片(把一张图片按照比例分成九份),就像这样的:

还有微博九宫格图 https://weibo.com/2717930601/JjpKtlUZ9 :

这种九宫格图片怎么发的呢?下面用Python搞定它,Python是门很简单实用的语言,即使不做开发工作也可以学习下

PIL处理图片

先用pip安装切割图片的库 PIL pip install Pillow , 然后编辑代码:

代码语言:javascript
复制
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

直接命令行执行 python pic.py ,输入图片文件名即可在本地生成9张小图。

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

pyinstaller 打包exe

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

代码语言:javascript
复制

    for real_module_name, six_module_name in real_to_six_module_name.items():
AttributeError: 'str' object has no attribute 'items'

谷歌了下需要升级库。

代码语言:javascript
复制
λ 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文件输入文件名就可以运行了。

代码语言:javascript
复制
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除了切割图片还可以对照片去色。

代码语言:javascript
复制
img = Image.open("jay.jpg")
img2 = img.convert("L")
img2.save("jay2.jpg")

去色效果图:

对照片旋转90度。

代码语言:javascript
复制
img3 = img.rotate(90)
img3.save("jay_rotate.jpg")

旋转效果图:

对照片翻转。

代码语言:javascript
复制
img4 = img.transpose(Image.FLIP_LEFT_RIGHT)
img4.save("jay_transpose.jpg")

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

除了使用Python 也有在线工具和微信小程序可以生成九宫格图片 ,上传图片下载即可。

大家的点赞和在看转发对我非常重要,如果文章对你有帮助还请支持下, 感谢各位!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 苏生不惑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PIL处理图片
  • pyinstaller 打包exe
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档