最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用PIL實現(xiàn)多張圖片垂直合并

 更新時間:2019年01月15日 10:37:29   作者:修煉打怪的小烏龜  
這篇文章主要為大家詳細介紹了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 
 
  # 產(chǎn)生一張空白圖 
  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']) 

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

相關文章

最新評論

即墨市| 咸丰县| 策勒县| 萝北县| 宜黄县| 进贤县| 菏泽市| 渝中区| 如东县| 兴城市| 元朗区| 渝中区| 晋城| 龙门县| 廉江市| 兰西县| 迭部县| 大姚县| 博兴县| 宁陵县| 石河子市| 甘泉县| 壤塘县| 睢宁县| 商丘市| 忻城县| 孝昌县| 竹溪县| 合肥市| 郸城县| 桦南县| 巨野县| 彭泽县| 宁国市| 泰宁县| 金坛市| 清苑县| 时尚| 莫力| 深水埗区| 湘西|