有一个需求
九张图片拼接在一起,图片类型有P类型(索引图)、灰度图、RGB、RGBA类型 九张图片
代码如下
import glob
from PIL
import Image
def image_concat(image_names
):
""" image_names: list, 存放的是图片的绝对路径 """
image
= Image
.open(image_names
[0])
width
, height
= image
.size
target_shape
= (3*width
, 3*height
)
background
= Image
.new
('RGBA', target_shape
, (0,0,0,0,))
for ind
, image_name
in enumerate(image_names
):
img
= Image
.open(image_name
)
img
= img
.resize
((width
, height
))
if img
.mode
!= "RGBA":
img
= img
.convert
("RGBA")
row
, col
= ind
//3, ind
%3
location
= (col
*width
, row
*height
)
background
.paste
(img
, location
)
background
.save
("./cartoon_common_test3.png")
img_dir
= "./test/"
image_names
= sorted(glob
.glob
(img_dir
+"*"))
image_concat
(image_names
)
实现方法
1.读入所有图片名称 2.创建一块背景布 3.依次将图片放入背景中 注意:图片尺寸规整、mode规整、放置位置
效果展示