from PIL import Image, ImageDraw, ImageFont
import textwrap
# Пути к загруженным изображениям
img_paths = [
'/mnt/data/f8a1955201eb6cf3abfbcceb04f34b14-image.jpeg',
'/mnt/data/1cd4091634d61a8e8c34882879fd57e4-image.jpeg',
'/mnt/data/7739615026add72221e662085daecba6-image.jpeg'
]
# Тексты для сторис
texts = [
"MAGIC PLACE\nСтудия дизайна волос\n\nЗакулисное открытие",
"Magic Place — пространство перемен и вдохновения.\n\nКаждая встреча начинается с магии и заканчивается новым стильным образом ✨",
"Волшебное меню Magic Place:\n\nСТРИЖКИ — архитектура формы\nОКРАШИВАНИЕ — алхимия оттенков\nБЛОНД — светлая магия\nКОЛОРИРОВАНИЕ — энергия цвета\nAIRTOUCH — воздушная невесомость\nУКЛАДКИ — перевоплощение\nВОССТАНОВЛЕНИЕ\nУХОД — эликсир силы\nАФРОКОСЫ — смена реальности\nНАРАЩИВАНИЕ ВОЛОС — магия длины",
"Буду рада видеть вас на закулисном открытии Magic Place!\n\nВолшебство в деталях: уюта, сервиса и каждого преображения.\nХотите быть в числе первых гостей? Пишите “✨” или «хочу» — расскажу все детали лично!"
]
# Для 4-го сторис используем самый атмосферный интерьер или повторим первый (как вариант — дублируем для примера)
img_for_4 = img_paths[1]
story_imgs = []
# Настройки для наложения текста
font_path = "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"
font_size = 44
line_spacing = 10
for i, img_path in enumerate(img_paths + [img_for_4]):
img = Image.open(img_path).convert("RGB")
draw = ImageDraw.Draw(img)
# Размер для адаптации шрифта под сторис
W, H = img.size
# Подбираем размер шрифта под изображение
font = ImageFont.truetype(font_path, size=font_size)
# Текст аккуратнее растянуть по ширине
text = texts[i]
lines = []
for line in text.split("\n"):
lines += textwrap.wrap(line, width=27)
y_text = 80 if i != 0 else 120 # для логотипа выше центр
for line in lines:
w, h = draw.textsize(line, font=font)
x = (W - w) / 2 # центрируем
draw.text((x, y_text), line, font=font, fill=(255,255,255), stroke_width=3, stroke_fill=(0,0,0))
y_text += h + line_spacing
# Сохраняем совместно
out_path = f"/mnt/data/magicplace_story_{i+1}.jpg"
img.save(out_path, "JPEG")
story_imgs.append(out_path)
story_imgs