天天看點

python 圖檔(pil庫)将兩個圖檔合成一張

1.首先你需要有兩張圖檔,可以是現有的,也可以是建立的照片

2.合成圖檔的方法有很多,我隻提供我的ider

3.ider:将多個圖檔粘貼在一張大圖上,提前預設出大圖的大小和粘貼圖的坐标

from PIL import Image

# 加載第一張圖檔
im = Image.open("G:\\project\\建立檔案夾\\92542485_p0.png")
# 擷取圖檔的長寬
x, y = im.size
# Image.resize()傳回此圖像的調整大小後的副本,按照等比例縮小為 x:1024,y:int(1024/x*y)????
im = im.resize((520,int(520/x*y)),Image.ANTIALIAS) # 對圖檔的大小進行調整
# 參數解析:
# (520,int(520/x*y) 對應需要調整的長和寬
# 第二個參數Image.ANTIALIAS解析如下:
# Image.NEAREST :低品質
# Image.BILINEAR:雙線性
# Image.BICUBIC :三次樣條插值
# Image.ANTIALIAS:高品質
im.show() 
# 如圖????
           

這是原圖

這是調整大小後的圖檔

python 圖檔(pil庫)将兩個圖檔合成一張
# 同理加載第二張圖檔
im = Image.open("G:\\project\\建立檔案夾\\00002321_p0.png")
# 擷取圖檔的長寬
x, y = im.size
# Image.resize()傳回此圖像的調整大小後的副本,按照等比例縮小為 x:1024,y:int(1024/x*y)????
im = im.resize((520,int(520/x*y)),Image.ANTIALIAS) # 對圖檔的大小進行調整
im.show() 
# 如圖????
           

這是調整大小後的圖

# 最後呢我們在建立一個長寬适合兩張圖檔大小的圖
image = Image.new('RGB', (520, int(520/x0*y0)+int(520/x1*y1)), (255,0,0))
image.paste(im,(0,0)) 
image.paste(img,(0,int(520/x0*y0)))
# .paste複制粘貼的效果
# 參數解析:
# 第一個參數表示被粘貼的圖檔(im and img)
# 第二次參數表示粘貼圖檔的定位點(每張的圖左上角都為(0,0))可以用ps軟體檢視圖檔的坐标位置!
image.show()
# 如圖????