Я пытаюсь поместить несколько изображений и текстов поверх фонового изображения. Использование библиотеки изображений Python PIL. Количество изображений и печать текста не обязательно должны быть одинаковыми всегда. Печать текста и изображения должна быть отдельной. Текст должен быть напечатан снаружи везде, где ограничены рамки изображения.
Я использую код ниже, чтобы это произошло
from PIL import Image
import os, random
with open('C:/Users/nike/Desktop/namelist.txt', "r") as word_list:
words = list(word_list)
k=[]
for i in words:
j = i.replace(' ','').replace('\n','')
k.append(j)
folder=r"C:/Users/nike/Desktop/imagefolder"
a=random.choice(os.listdir(folder))
file = folder+'//'+a
random_text=random.choice(k)
img = Image.open(file)
img_w, img_h = img.size
background = Image.open('C:/Users/nike/Desktop/backgroundimages/back.jpeg','r')
bg_w, bg_h = background.size
offset = ((bg_w - img_w) // 2, (bg_h - img_h) // 2)
draw = ImageDraw.Draw(background)
background.paste(img, offset)
font = ImageFont.truetype("C:/Users/nike/Desktop/open-sans/abc.ttf", 16)
draw.text((0, 0),random_text,(255,255,255),font=font)
background.save('out.png')
Код выше печатает одно изображение в центре фонового изображения и текст в координате (0,0) фонового изображения. Как можно сделать несколько текстов и изображений для вставки на фоновые изображения, чтобы текст (x, y) не печатался на изображении (x, y). Любое предложение будет полезно.
Пример:
ожидаемый результат
на фоновом изображении мне нужно скопировать изображения и тексты так, чтобы они не перекрывали друг друга.