系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 脚本中心 > python > 详细页面

Python切割图片成九宫格的示例代码

时间:2020-03-10来源:电脑系统城作者:电脑系统城

这篇文字讲述如何使用Python把一张完整的大图切割成9份小图片,制作朋友圈九宫格图文分享。

原图如下:

Python切割图片成九宫格的示例代码 

我们想要利用这张图制作高逼格的九宫格朋友圈分享。

达到类似于这样的效果:

Python切割图片成九宫格的示例代码 

实现原理非常简单,那就是利用PIL库对原图不断画小区域然后切下来存储成新的小图片。

假设每一个格子的宽和高分别是w、h,那么第row行(从0开始计数),第col列(从0开始计数)的格子左上角坐标和右下角坐标分别是(col * w, row * h),(col * w + w, r * h + h)。

Python切割图片成九宫格的示例代码 


 
  1. code snippet:
  2. #! /usr/local/bin/python3
  3. # -*- coding: utf-8 -*-
  4. fromPILimportImage
  5. defcut_image(image):
  6. width, height = image.size
  7. item_width = width /3.0
  8. item_height = height /3.0
  9. box_list = []
  10. forrowinrange(0,3):
  11. forcolinrange(0,3):
  12. box = (col * item_width, row * item_height,( col +1) * item_width,( row +1) * item_height)
  13. box_list.append( box )
  14. image_list = [image.crop(box)forboxinbox_list]
  15. returnimage_list
  16. defsave_images(image_list):
  17. dirName ='output'
  18. ifFalse== os.path.exists( dirName ):
  19. os.makedirs( dirName )
  20. index =1
  21. forimageinimage_list:
  22. image.save(‘./output/python'+str(index) +'.png','PNG')
  23. index +=1
  24. if__name__ =='__main__':
  25. image = Image.open("use.png")
  26. image_list = cut_image(image)
  27. save_images(image_list)

为了能在朋友圈中预览时看到所有图片的完整样子,建议保证自己的原始图片是正方形的,然后再运行这个脚本,在output中得到九张图片。最后,嗯,就可以去秀了!

总结

到此这篇关于Python切割图片成九宫格的文章就介绍到这了,更多相关Python切割图片 九宫格 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载