日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python多图合并成一张图_python使用PIL实现多张图片垂直合并

發(fā)布時間:2025/3/15 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python多图合并成一张图_python使用PIL实现多张图片垂直合并 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文實例為大家分享了python實現(xiàn)多張圖片垂直合并的具體代碼,供大家參考,具體內容如下

# coding: utf-8

# image_merge.py

# 圖片垂直合并

# http://www.redicecn.com

# redice@163.com

import os

import Image

def image_resize(img, size=(1500, 1100)):

"""調整圖片大小

"""

try:

if img.mode not in ('L', 'RGB'):

img = img.convert('RGB')

img = img.resize(size)

except Exception, e:

pass

return img

def image_merge(images, output_dir='output', output_name='merge.jpg', \

restriction_max_width=None, restriction_max_height=None):

"""垂直合并多張圖片

images - 要合并的圖片路徑列表

ouput_dir - 輸出路徑

output_name - 輸出文件名

restriction_max_width - 限制合并后的圖片最大寬度,如果超過將等比縮小

restriction_max_height - 限制合并后的圖片最大高度,如果超過將等比縮小

"""

max_width = 0

total_height = 0

# 計算合成后圖片的寬度(以最寬的為準)和高度

for img_path in images:

if os.path.exists(img_path):

img = Image.open(img_path)

width, height = img.size

if width > max_width:

max_width = width

total_height += height

# 產生一張空白圖

new_img = Image.new('RGB', (max_width, total_height), 255)

# 合并

x = y = 0

for img_path in images:

if os.path.exists(img_path):

img = Image.open(img_path)

width, height = img.size

new_img.paste(img, (x, y))

y += height

if restriction_max_width and max_width >= restriction_max_width:

# 如果寬帶超過限制

# 等比例縮小

ratio = restriction_max_height / float(max_width)

max_width = restriction_max_width

total_height = int(total_height * ratio)

new_img = image_resize(new_img, size=(max_width, total_height))

if restriction_max_height and total_height >= restriction_max_height:

# 如果高度超過限制

# 等比例縮小

ratio = restriction_max_height / float(total_height)

max_width = int(max_width * ratio)

total_height = restriction_max_height

new_img = image_resize(new_img, size=(max_width, total_height))

if not os.path.exists(output_dir):

os.makedirs(output_dir)

save_path = '%s/%s' % (output_dir, output_name)

new_img.save(save_path)

return save_path

if __name__ == '__main__':

image_merge(images=['900-000-000-0501a_b.jpg', '900-000-000-0501b_b.JPG', '1216005237382a_b.jpg'])

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持找一找教程網。

總結

以上是生活随笔為你收集整理的python多图合并成一张图_python使用PIL实现多张图片垂直合并的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。