python编程*三角形图形创意图片_使用python的pil制作微信九宫格图片
[Python] 純文本查看 復制代碼#coding=utf-8
import os
from PIL import Image
import re
'''
使用PIL的Image進行圖片裁剪,生成正方形的9宮格
1>獲取圖片的寬、高參數,生成一張新的正方形圖
2>對新生成的正方形圖片進行裁剪,生成9宮格
3>保存
'''
def full_img(img):
#獲取image圖像的寬、高屬性
width, height = img.size
#比較圖片的寬、高屬性來確定新圖片的邊長
if width > height :
full_image_length = width
else :
full_image_length = height
#生成正方形圖片
full_image = Image.new(img.mode, (full_image_length, full_image_length), color='white')
#將圖片覆蓋到正方形底圖,居中
if width > height :
#獲取兩邊間距
side_length = int((width - height) / 2)
#寬大于高,粘貼時左右邊距0,上下邊距是寬高差值的一半取整
full_image.paste(img, (0, side_length))
else :
side_length = int((height- width) / 2)
full_image.paste(img, (side_length, 0))
#執行完畢,返回正方形新圖片
return full_image
# full_img(Image.open('./python/dist/雞西酸湯子中毒已致8人死亡/006rUgk9gy1gjndnnooquj30c80oa0wv.jpg')).show()
def cut_img(img):
#獲取image圖像的寬、高屬性
width, height = img.size
#進行三等分
item_width = int(width / 3)
#裁圖的box列表
box_list = []
#Image.crop(left, upper, right, lower)左上右下,四個維度
for i in range(0, 3):
for j in range(0, 3):
box = (j*item_width, i*item_width, (j+1)*item_width, (i+1)*item_width)
box_list.append(box)
#裁剪后的圖片列表
img_list = []
for box in box_list :
img_item = img.crop(box)
img_list.append(img_item)
#返回裁剪后的圖片列表
return img_list
def save_img(img):
#index初始值為1
index = 1
for i in img :
i.save(str(index) + '.jpg', 'PNG')
index += 1
if __name__ == '__main__' :
#定義圖片路徑
print('請輸入圖片路徑\n路徑獲取方式為:按住shift鍵后點擊鼠標右鍵,然后點擊復制為路徑')
file_path = input()
file_path = file_path.split('"')[1].split('"')[0]
print('當前圖片路徑為 %s' % file_path)
# 創建文件夾
print('請輸入想要保存的文件夾名字\n')
save_path = input()
os.mkdir(save_path)
os.chdir(save_path)
#打開圖片
try:
image = Image.open(file_path)
#利用full_img函數生成正方形圖片
image = full_img(image)
#利用cut_img函數裁剪生成圖片列表
image_list = cut_img(image)
#利用save_img函數儲存圖片
save_img(image_list)
print('圖片九宮已生成\nIt is show time!')
except Exception as e:
print(e)
總結
以上是生活随笔為你收集整理的python编程*三角形图形创意图片_使用python的pil制作微信九宫格图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万洲金业集结全面行业优势 打造贵金属产品
- 下一篇: Swift基础——数组Array