# Define sizes for desktop and mobile versions
desktop_width, desktop_height = 1200, 3000
mobile_width, mobile_height = 375, 3000
# Create blank images
desktop_image = Image.new('RGB', (desktop_width, desktop_height), 'white')
mobile_image = Image.new('RGB', (mobile_width, mobile_height), 'white')
# Draw objects
desktop_draw = ImageDraw.Draw(desktop_image)
mobile_draw = ImageDraw.Draw(mobile_image)
# Define background color
bg_color = (245, 245, 245)
desktop_draw.rectangle([0, 0, desktop_width, desktop_height], fill=bg_color)
mobile_draw.rectangle([0, 0, mobile_width, mobile_height], fill=bg_color)
# Define header colors and text
header_color = (255, 102, 0)
header_text_color = (255, 255, 255)
desktop_header_text = "Феникс Недвижимость"
mobile_header_text = "Феникс"
# Draw header for desktop
draw_section(desktop_draw, 0, 0, desktop_width, 200, header_color, desktop_header_text, title_font, header_text_color)
desktop_draw.text((1000, 50), "Свяжитесь с нами", font=text_font, fill=header_text_color)
# Draw header for mobile
draw_section(mobile_draw, 0, 0, mobile_width, 150, header_color, mobile_header_text, title_font, header_text_color)
mobile_draw.text((50, 100), "Свяжитесь с нами", font=text_font, fill=header_text_color)
# Draw navigation menu for desktop
nav_menu = ["Главная", "О нас", "Услуги", "Объекты", "Контакты"]
x_offset = 300
for item in nav_menu:
desktop_draw.text((x_offset, 50), item, font=text_font, fill=header_text_color)
x_offset += 150
# Draw hero section for desktop
draw_section(desktop_draw, 0, 200, desktop_width, 600, white_color, "", title_font, white_color)
desktop_draw.rectangle([0, 200, desktop_width, 800], fill=red_color)
desktop_draw.text((100, 250), "Добро пожаловать в Феникс Недвижимость", font=title_font, fill=header_text_color)
desktop_draw.text((100, 400), "Ваш путь к лучшим объектам недвижимости", font=subtitle_font, fill=header_text_color)
desktop_draw.text((100, 500), "Специальное предложение: 10% скидка на первую консультацию!", font=subtitle_font, fill=header_color)
draw_section(desktop_draw, 100, 600, 300, 100, header_color, "Исследовать объекты", button_font, header_text_color)
# Draw hero section for mobile
draw_section(mobile_draw, 0, 150, mobile_width, 600, red_color, "Добро пожаловать в Феникс Недвижимость", subtitle_font, header_text_color)
mobile_draw.text((50, 300), "Ваш путь к лучшим объектам недвижимости", font=text_font, fill=header_text_color)
mobile_draw.text((50, 400), "10% скидка на первую консультацию!", font=text_font, fill=header_color)
draw_section(mobile_draw, 50, 500, 275, 100, header_color, "Исследовать", button_font, header_text_color)
# Draw USP section for desktop
draw_section(desktop_draw, 0, 850, desktop_width, 450, white_color, "Почему выбирают Феникс?", title_font, header_color)
usp_points = [
"Опытные профессионалы",
"Широкий выбор объектов",
"Клиентоориентированный подход",
"Конкурентные цены"
]
y_offset = 950
for point in usp_points:
desktop_draw.text((100, y_offset), point, font=text_font, fill=grey_color)
y_offset += 60
# Draw USP section for mobile
draw_section(mobile_draw, 0, 750, mobile_width, 600, white_color, "Почему выбирают Феникс?", subtitle_font, header_color)
usp_points_mobile = [
"Опытные профессионалы",
"Широкий выбор объектов",
"Клиентоориентированный подход",
"Конкурентные цены"
]
y_offset = 850
for point in usp_points_mobile:
mobile_draw.text((50, y_offset), point, font=text_font, fill=grey_color)
y_offset += 60
# Draw Services section for desktop
draw_section(desktop_draw, 0, 1300, desktop_width, 450, white_color, "Наши услуги", title_font, header_color)
services = [
"Жилая недвижимость",
"Коммерческая недвижимость",
"Управление недвижимостью",
"Консультации по недвижимости"
]
y_offset = 1400
for service in services:
desktop_draw.text((100, y_offset), service, font=text_font, fill=grey_color)
y_offset += 60
draw_section(desktop_draw, 100, 1650, 300, 100, header_color, "Подробнее", button_font, header_text_color)
# Draw Services section for mobile
draw_section(mobile_draw, 0, 1350, mobile_width, 600, white_color, "Наши услуги", subtitle_font, header_color)
services_mobile = [
"Жилая недвижимость",
"Коммерческая недвижимость",
"Управление недвижимостью",
"Консультации"
]
y_offset = 1450
for service in services_mobile:
mobile_draw.text((50, y_offset), service, font=text_font, fill=grey_color)
y_offset += 60
draw_section(mobile_draw, 50, 1750, 275, 100, header_color, "Подробнее", button_font, header_text_color)
# Draw Featured Properties section for desktop
draw_section(desktop_draw, 0, 1900, desktop_width, 600, white_color, "Рекомендуемые объекты", title_font, header_color)
properties = [
"Объект 1: Роскошная вилла",
"Объект 2: Современные апартаменты",
"Объект 3: Просторный офис"
]
y_offset = 2000
for prop in properties:
desktop_draw.text((100, y_offset), prop, font=text_font, fill=grey_color)
y_offset += 60
# Draw Featured Properties section for mobile
draw_section(mobile_draw, 0, 1950, mobile_width, 600, white_color, "Рекомендуемые объекты", subtitle_font, header_color)
properties_mobile = [
"Объект 1: Вилла",
"Объект 2: Апартаменты",
"Объект 3: Офис"
]
y_offset = 2050
for prop in properties_mobile:
mobile_draw.text((50, y_offset), prop, font=text_font, fill=grey_color)
y_offset += 60
# Draw Contact section for desktop
draw_section(desktop_draw, 0, 2550, desktop_width, 600, white_color, "Свяжитесь с нами", title_font, header_color)
contact_fields = [
"Имя", "Email", "Телефон", "Сообщение"
]
y_offset = 2650
for field in contact_fields:
desktop_draw.text((100, y_offset), field, font=text_font, fill=grey_color)
y_offset += 60
draw_section(desktop_draw, 100, 2900, 300, 100, header_color, "Отправить сообщение", button_font, header_text_color)
# Draw Contact section for mobile
draw_section(mobile_draw, 0, 2550, mobile_width, 600, white_color, "Свяжитесь с нами", subtitle_font, header_color)
contact_fields_mobile = [
"Имя", "Email", "Телефон", "Сообщение"
]
y_offset = 2650
for field in contact_fields_mobile:
mobile_draw.text((50, y_offset), field, font=text_font, fill=grey_color)
y_offset += 60
draw_section(mobile_draw, 50, 2900, 275, 100, header_color, "Отправить", button_font, header_text_color)
# Save the updated mockups
desktop_image_path = "/mnt/data/Fenix_Real_Estate_Homepage_Desktop_Updated.png"
mobile_image_path = "/mnt/data/Fenix_Real_Estate_Homepage_Mobile_Updated.png"
desktop_image.save(desktop_image_path)
mobile_image.save(mobile_image_path)
desktop_image.show()
mobile_image.show()
desktop_image_path, mobile_image_path