Python切割图片成九宫格

作者: 诸葛青云999 | 来源:发表于2019-10-07 13:04 被阅读0次

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

    原图如下:

    Image

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

    达到类似于这样的效果:

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

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

    如果你在学习Python的过程当中有遇见任何问题,可以加入python交流学企鹅群:【611+530+101】,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习python有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我

    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切割图片成九宫格

        本文链接:https://www.haomeiwen.com/subject/vihmpctx.html