爱美是人类的天性,特别是女性。她们不仅喜欢打扮自己,还喜欢晒圈儿分享美好的事物。今天就教大家一个朋友圈晒图利器——切割图片。

目标需求

我们要做的就是将一张完整的图片分割成9张小图片,制作成朋友圈九宫格的图片,从而在朋友圈晒出不一样的美景。

最终实现的效果对比如下:

对比

对比两个朋友圈,后面的九宫格逼格提升了一个数量级有木有!

实现原理

为了实现九宫格,我们需要将图片转换成正方形,这样切割之后效果最好。转换的方法是先创建一个正方形的图片,然后将原图居中贴在新图片上。

接着,我们针对新图片的尺寸,计算切割之后每张小图片的尺寸,然后将每张小图片的四个角的坐标计算出来,最后就根据这些坐标切割图片就行。

这里我们主要用到 PIL 库的 image 模块,也是我们处理图片经常用到的库,安装这里就不介绍了。

实现代码

下面我们来看看实现代码:

from PIL import Image# 先将image填充为正方形def fill_image(img):    width, height = img.size    # 选取长和宽中较大值作为新图片的    new_image_length = width if width > height else height    # 生成新图片[白底]    new_image = Image.new(img.mode, (new_image_length, new_image_length), color='white')    # 将之前的图粘贴在新图上,居中    if width > height:        # 原图宽大于高,则填充图片的竖直维度        # #(x,y)二元组表示粘贴上图相对下图的起始位置,是个坐标点        new_image.paste(img, (0, int((new_image_length - height) / 2)))    else:        new_image.paste(img, (int((new_image_length - width) / 2), 0))    return new_imagedef cut_image(img):    width, height = img.size    # 一行放3张图    item_width = int(width / 3)    box_list = []    # (left, upper, right, lower)    for i in range(0, 3):        for j in range(0, 3):            print((i*item_width, j*item_width, (i+1)*item_width, (j+1)*item_width))            box = (j*item_width, i*item_width, (j+1)*item_width, (i+1)*item_width)            box_list.append(box)    img_list = [img.crop(box) for box in box_list]
    return img_listdef save_images(img_list):    index = 1    for img in img_list:        img.save("./"+str(index) + '.png', 'PNG')        index += 1if __name__ == '__main__':    image = Image.open('./mv.jpg')    image.show()    image = fill_image(image)    image_list = cut_image(image)    save_images(image_list)

我们的代码主要分为三个部分:转换图片、切割图片和保存图片。对应的就是上面的实现步骤。

最后,我们用一张美女图片来看看实现效果。首先,我们来欣赏一下这位美女:

切割前的美女

运行代码之后的小图片如下(由于图片太多,所以我直接拼装成了朋友圈的样式):

切割后的美女

为了保证最佳效果,处理前的图片尽量接近正方形哦!

昨天我运用这段代码,帮女神处理一张图片,她心满意足地晒了一把朋友圈,晚上还给我一个大大地吻,我红着脸装 X:小意思啦!

一段代码可以俘获一颗心,让她开心和满足,我看着那长满茧的指头,心里默默的告诉自己:值了!

总结

看完这个,还不赶紧去试试?不一定是女神图片,也可以切割其他的图片呢!大家如果觉得喜欢,点个“在看”分享给更多的朋友吧!

用Python助女神发朋友圈相关推荐

  1. 用Python分割九宫格图片发朋友圈

    近日,朋友圈流行起了发九宫格的图片,就是将一张图片切割成九张图,然后在朋友圈发九张,但看起来就像一张一样,这不,我楼下的小A就狂发了一堆. 看起来好像挺好玩的,于是就问了小A他是怎样做的,他跟我说要下 ...

  2. python发朋友圈_用 Python 发一个高逼格的朋友圈

    原标题:用 Python 发一个高逼格的朋友圈 源 /痴海文 /痴海 分享一个非常骚气的发朋友圈姿势.效果如下. 利用今天教给大家的 python 脚本,把一张图重新分隔成 9 张.上传到朋友圈,最后 ...

  3. Python Adb Shell UiAutomator -- 微信自动发朋友圈/点赞/...

    自动点击特定元素 通过python调用adb命令实现用元素名称.id.class定位元素 http://blog.csdn.net/gb112211/article/details/33730221 ...

  4. python发朋友圈突破朋友圈限制_突破限制!原来朋友圈可以发长达5分钟的视频,后悔没早点知道...

    原标题:突破限制!原来朋友圈可以发长达5分钟的视频,后悔没早点知道 现在使用微信的人越来越多,很多人喜欢在微信朋友圈分享自己的生活,可能是发图片,也可能是发日常的视频,但是视频有限制怎么办? 一.朋友 ...

  5. 用python每天发朋友圈的人_心理学:我们要远离那些,每天都发朋友圈的人

    小潘丨情感美文系列小潘谈情说爱 签约作者原创 01 闲下来的时候,刷刷朋友圈成我们生活的常态.看着朋友在朋友圈秀恩爱,晒晒娃,发发牢骚吐吐槽,可谓是不联系也没有忘记.可是随着时间的推移,有的人慢慢对朋 ...

  6. python如何写生日快乐说说_适合发朋友圈祝自己生日快乐的说说

    1.自在,是从今开始最重要的工作.回首2018给自己的生日愿望便是能活得更自在一些. 2.岁的第一天,对自己说声生日快乐,然后开启未来一年的无限可能吧,今年不贪心啦!生日愿望就只有那一个. 3.承蒙时 ...

  7. android 微信高仿,Android 高仿微信发朋友圈浏览图片效果(转)

    最近一直在高仿微信.高仿微信,今天小编再给大家分享一个仿微信发朋友圈浏览图片的效果.... 好了,先看一下效果吧: 这里写图片描述 下面就来说一下具体怎么实现的: 实现思路 1.首先我们要获取数据源, ...

  8. 看电影拍照发朋友圈,或构成侵权?

    你是否曾经做过或者看到别人做过,去看了个电影,然后拍了几张电影屏幕的照片发朋友圈,这种行为称为屏摄.尽管这种行为非常普遍,但并不代表它就是合理的,这样做很容易构成侵权. 多个明星因为摄屏被骂 近日,歌 ...

  9. Android 高仿微信发朋友圈浏览图片效果

    最近一直在高仿微信.高仿微信,今天小编再给大家分享一个仿微信发朋友圈浏览图片的效果.... 好了,先看一下效果吧: 下面就来说一下具体怎么实现的: 实现思路 1.首先我们要获取数据源,数据源就是我们的 ...

最新文章

  1. Java设计模式--总结
  2. SAP Business One on HANA登陆阿里云
  3. 推荐系统——开源代码
  4. 听说你还不懂哈夫曼树和哈夫曼编码
  5. CSS3盒子模型(CSS3)
  6. mysql中文表头转为英文字名_中文名字转换英文名字
  7. jsPdf前端页面直接生成Pdf盖章下载
  8. docker部署time machine服务
  9. 使用scrapy框架爬虫实战
  10. 虚拟现实(VR)、增强现实(AR)、混合现实(MR)
  11. 饥荒联机云服务器_饥荒steam联机版专用服务器搭建
  12. 千万别小看一个面相好的女人!
  13. 13,猜数字游戏,我有一个数,请您猜猜是多少?
  14. win7怎么不能无线连接网络连接服务器,win7网络连接不上|windows7无线网络连接不上怎么办?...
  15. 华三 mstp-路由聚合-ospf-三层聚合 入门全套实验
  16. matlab 符号 积分法,MATLAB积分方法
  17. 信心在生活中起到了什么样的作用
  18. 墨水屏(电子纸)刷新模式
  19. winrar40天试用完了
  20. Android开发,你必须知道的四大天王。

热门文章

  1. 计算机网络4—传输层
  2. python分析就业率_Python就业行情和前景分析之一
  3. 电容笔适用所有平板吗?值得推荐电容笔排行
  4. 支付退款流程设计_Niushop微信支付配置、微信退款配置、微信转账配置操作流程...
  5. 公众号redirect_url配置_Niushop微信支付配置、微信退款配置、微信转账配置操作流程...
  6. 推荐几款好用的 Git 图形化客户端
  7. xshell5不能用必须应用到最新的更新或使用新版本
  8. 赌徒有10元,一次输赢1元,手头能到110元的概率
  9. RSA共模攻击(包括原理)
  10. 【财富空间】大润发创始人挥泪离场:我战胜了所有对手,却输给了时代!