注:在函数Image_tietu()中
需要指定的前景图片共计右多少张这个参数 image_count
才能合理的实现随机读取前景图片的目的
代码:
import os
import glob
import random
from PIL import Image
def Image_tietu(img_ditu,img_path,p1,p2,p3,p4,position_y):
#读取底图(背景图)图片
img = Image.open(img_ditu)
for root,dirs,files in os.walk(img_path):
#使用函数读取指定目录及其子目录下的以 png 为结尾的图片文件
imgs_list = glob.glob(root + '/*.png') #元素下标从0开始
print(imgs_list)
#前景图片共计个数
image_count = 3
for i in range(1): #此处循环中 range() 中的参数为产生几张结果图像
#产生随机数;读取指定索引下的前景图片
temp1 = random.randint(1,image_count);
temp2 = random.randint(1,image_count);
temp3 = random.randint(1,image_count);
temp4 = random.randint(1,image_count);
img1 = Image.open(imgs_list[temp1])
img2 = Image.open(imgs_list[temp2])
img3 = Image.open(imgs_list[temp3])
img4 = Image.open(imgs_list[temp4])
#img是背景图片,img1等是前景图片,下面四句话的所用是将前景图片贴到背景图片上
img.paste(img1,(p1,position_y,p1+img1.size[0],position_y+img1.size[1]))
img.paste(img2,(p2,position_y,p2+img2.size[0],position_y+img2.size[1]))
img.paste(img3,(p3,position_y,p3+img3.size[0],position_y+img3.size[1]))
img.paste(img4,(p4,position_y,p4+img4.size[0],position_y