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' успешно сгенерировано.")