Python切割图片成九宫格的示例代码
这篇文字讲述如何使用Python把一张完整的大图切割成9份小图片,制作朋友圈九宫格图文分享。
原图如下:
我们想要利用这张图制作高逼格的九宫格朋友圈分享。
达到类似于这样的效果:
实现原理非常简单,那就是利用PIL库对原图不断画小区域然后切下来存储成新的小图片。
假设每一个格子的宽和高分别是w、h,那么第row行(从0开始计数),第col列(从0开始计数)的格子左上角坐标和右下角坐标分别是(col * w, row * h),(col * w + w, r * h + h)。
code snippet: #! /usr/local/bin/python3 # -*- coding: utf-8 -*- fromPILimportImage defcut_image(image): width, height = image.size item_width = width /3.0 item_height = height /3.0 box_list = [] forrowinrange(0,3): forcolinrange(0,3): box = (col * item_width, row * item_height,( col +1) * item_width,( row +1) * item_height) box_list.append( box ) image_list = [image.crop(box)forboxinbox_list] returnimage_list defsave_images(image_list): dirName ='output' ifFalse== os.path.exists( dirName ): os.makedirs( dirName ) index =1 forimageinimage_list: image.save(‘./output/python'+str(index) +'.png','PNG') index +=1 if__name__ =='__main__': image = Image.open("use.png") image_list = cut_image(image) save_images(image_list)
为了能在朋友圈中预览时看到所有图片的完整样子,建议保证自己的原始图片是正方形的,然后再运行这个脚本,在output中得到九张图片。最后,嗯,就可以去秀了!
总结
到此这篇关于Python切割图片成九宫格的文章就介绍到这了,更多相关Python切割图片 九宫格 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Django中的DateTimeField和DateField实现
这篇文章主要介绍了Django中的DateTimeField和DateField实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-02-02Python如何在windows环境安装pip及rarfile
这篇文章主要介绍了Python如何在windows环境安装pip及rarfile,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-06-06Python Zipfile模块进行ZIP文件的创建解压信息获取和加密等操作
这篇文章主要为大家介绍了Python Zipfile模块进行ZIP文件的创建解压信息获取和加密等操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2024-01-01pandas.concat实现DataFrame竖着拼接、横着拼接方式
这篇文章主要介绍了pandas.concat实现DataFrame竖着拼接、横着拼接方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-10-10
最新评论