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