File size: 1,691 Bytes
84c21c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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' успешно сгенерировано.")