MD / service
1234aurel's picture
Create service
84c21c2 verified
from PIL import Image, ImageDraw, ImageFilter
import random
def generate_portrait(width=512, height=512):
"""Генерирует портрет в стиле цифровой живописи."""
# Создаем холст
img = Image.new("RGB", (width, height), "white")
draw = ImageDraw.Draw(img)
# Генерируем основные черты лица
face_color = (random.randint(200, 255), random.randint(180, 230), random.randint(160, 210))
draw.ellipse((width // 4, height // 4, width * 3 // 4, height * 3 // 4), fill=face_color)
# Генерируем глаза
eye_color = (255, 0, 0) # Красные глаза, как на референсе
eye_size = width // 10
draw.ellipse((width // 3 - eye_size, height // 3 - eye_size, width // 3 + eye_size, height // 3 + eye_size), fill=eye_color)
draw.ellipse((width * 2 // 3 - eye_size, height // 3 - eye_size, width * 2 // 3 + eye_size, height // 3 + eye_size), fill=eye_color)
# Генерируем губы
lip_color = (200, 0, 0) # Темно-красные губы
draw.polygon([(width // 3, height * 3 // 5), (width * 2 // 3, height * 3 // 5), (width * 5 // 8, height * 3 // 4), (width * 3 // 8, height * 3 // 4)], fill=lip_color)
# Добавляем эффект размытия для создания эффекта цифровой живописи
img = img.filter(ImageFilter.GaussianBlur(radius=5))
return img
# Генерируем и сохраняем изображение
portrait = generate_portrait()
portrait.save("portrait.png")
print("Изображение 'portrait.png' успешно сгенерировано.")