首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用 Python 发一个高逼格的朋友圈

阅读文本大概需要 5 分钟。

利用今天教给大家的 python 脚本,把一张图重新分隔成 9 张。上传到朋友圈,最后就会形成上面的效果。可能有些人在朋友圈有看过类似的消息,也知道某些软件可以做到这样的效果。但如果你自己利用 python 来实现,那种成就感是非常不一样的。

所以今天我就手把手教大家如何利用 python 发一个高逼格的朋友圈。

程序思路

此次程序主要是利用 PIL(Python Image Libraty)这库,来进行图片的处理。

PIL 是一个功能非常强大的 Python 图像处理标准库,但由于 PIL 只支持 Python2.7。如今很多 python 程序员都使用 Python 3.x,所以 PIL 在之前的基础上分离出来一个分支,另外创建一个 Pillow 库,以便支持 Python3.x。本程序在使用之前请确保已经安装了 Pillow 库。

程序首先把你要分隔的图像读取到一个变量中,然后我们定义了一个 fill_image() 方法,用来填充图像让原本大小不一的图像,重新变为一个长宽相同的正方形图像,方便之后处理。

通过 fill_image() 方法,我们就会得到新的一张正方形图像。随后我们在利用 cut_image() 方法,把图像分隔成 9 张,因为微信朋友圈最多发 9 张图片。

最后把这 9 张图片保存到本地文件中,发送到手机,就可以发到朋友圈了。

程序源码

fromPILimportImage

importsys

#先将 input image 填充为正方形

deffill_image(image):

width, height = image.size

#选取长和宽中较大值作为新图片的

new_image_length = widthifwidth > heightelseheight

#生成新图片[白底]

new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white')#注意这个函数!

#将之前的图粘贴在新图上,居中

ifwidth > height:#原图宽大于高,则填充图片的竖直维度 #(x,y)二元组表示粘贴上图相对下图的起始位置,是个坐标点。

new_image.paste(image, (, int((new_image_length - height) /2)))

else:

new_image.paste(image, (int((new_image_length - width) /2),))

returnnew_image

defcut_image(image):

width, height = image.size

item_width = int(width /3)#因为朋友圈一行放3张图。

box_list = []

# (left, upper, right, lower)

foriinrange(,3):

forjinrange(,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)

image_list = [image.crop(box)forboxinbox_list]

returnimage_list

#保存

defsave_images(image_list):

index =1

forimageinimage_list:

image.save(str(index) +'.png','PNG')

index +=1

if__name__ =='__main__':

file_path ="4.jpg"

image = Image.open(file_path)

#image.show()

image = fill_image(image)

image_list = cut_image(image)

save_images(image_list)

使用教程

再配上一句有逼格的话「人必有痴,而后有成」,发到朋友圈逼格满满!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180809A09SCS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券