Python切图九宫格的实现方法
2019-10-10 18:05
1536 查看
本文介绍了Python切图九宫格的实现方法,分享给大家,具体如下
# -*- coding: utf-8 -*- ''' 将一张图片填充为正方形后切为9张图 ''' from PIL import Image import sys #将图片填充为正方形 def fill_image(image): width, height = image.size #选取长和宽中较大值作为新图片的 new_image_length = width if width > height else height #生成新图片[白底] new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white') #将之前的图粘贴在新图上,居中 if width > height:#原图宽大于高,则填充图片的竖直维度 #(x,y)二元组表示粘贴上图相对下图的起始位置 new_image.paste(image, (0, int((new_image_length - height) / 2))) else: new_image.paste(image, (int((new_image_length - width) / 2),0)) return new_image #切图 def cut_image(image): width, height = image.size item_width = int(width / 3) box_list = [] # (left, upper, right, lower) for i in range(0,3):#两重循环,生成9张图片基于原图的位置 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) image_list = [image.crop(box) for box in box_list] return image_list #保存 def save_images(image_list): index = 1 for image in image_list: image.save('./python'+str(index) + '.png', 'PNG') index += 1 if __name__ == '__main__': file_path = "python.jpeg" image = Image.open(file_path) #image.show() image = fill_image(image) image_list = cut_image(image) save_images(image_list)
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- Ganglia 扩展之Python实现方法
- Python中静态方法的实现
- python用两种方法实现url短连接
- Python中静态方法的实现
- python实现SimpleHTTPServer的POST方法
- python三元运算符实现方法
- python利用字典保存配置实现动态调用模块类方法
- Python提取Linux内核源代码的目录结构实现方法
- python 抽象类、抽象方法的实现
- Python单例模式的4种实现方法
- 二种方法实现删除SVN文件夹(python和批处理)
- 再谈将C++语言源码转成html的方法(vim实现,可用于java,perl,python等等多种语言)
- paip.编程语言方法重载实现的原理及python,php,js中实现方法重载
- Android控件 之 GridView九宫格实现方法一
- python实现定制交互式命令行的方法
- Python单例模式的4种实现方法
- python实现后台进程的方法(源码)
- python里有关static变量的实现方法
- 一种分析代金券使用分布情况的方法python实现版(上)
- Python单例模式的4种实现方法