Переформулируйте программу, которая создаёт пейзаж и сохраняет его в файл с названием пейзаж.bmp . Цвет фона - голубой

  • 61
Переформулируйте программу, которая создаёт пейзаж и сохраняет его в файл с названием "пейзаж.bmp". Цвет фона - голубой. Цвет пера для рисования - голубой. Примеры изображений для закрашивания солнца, облака и травы - взяты из файлов sun.jpg, cloud.jpg и grass.jpg. Координаты для рисования пейзажа указаны на рисунке.
Sverkayuschiy_Dzhentlmen
18
Хорошо, чтобы переформулировать программу, которая создает и сохраняет пейзаж в файл "пейзаж.bmp" с заданными параметрами, мы можем использовать следующий алгоритм:

1. Создайте пустое изображение размером 800x600 пикселей с голубым фоном.
2. Загрузите изображение солнца из файла "sun.jpg".
3. Расположите изображение солнца в верхней левой части пейзажа.
4. Загрузите изображение облака из файла "cloud.jpg".
5. Расположите изображение облака в верхней правой части пейзажа.
6. Загрузите изображение травы из файла "grass.jpg".
7. Расположите изображение травы в нижней части пейзажа.
8. Сохраните полученное изображение в файл "пейзаж.bmp".

Теперь рассмотрим каждый этап более подробно:

1. Создание пустого изображения:


import numpy as np
from PIL import Image

width = 800
height = 600
background_color = (0, 255, 255) # голубой цвет фона

image = np.zeros((height, width, 3), dtype=np.uint8)
image[:, :] = background_color

img = Image.fromarray(image)


2. Загрузка изображения солнца:


sun_image = Image.open("sun.jpg")
sun_image = sun_image.resize((200, 200)) # изменение размера изображения солнца, если необходимо


3. Расположение изображения солнца:


x1, y1 = 50, 50 # координаты изображения солнца на пейзаже

image.paste(sun_image, (x1, y1))


4. Загрузка изображения облака:


cloud_image = Image.open("cloud.jpg")
cloud_image = cloud_image.resize((300, 200)) # изменение размера изображения облака, если необходимо


5. Расположение изображения облака:


x2, y2 = 500, 50 # координаты изображения облака на пейзаже

image.paste(cloud_image, (x2, y2))


6. Загрузка изображения травы:


grass_image = Image.open("grass.jpg")
grass_image = grass_image.resize((width, 350)) # изменение размера изображения травы, если необходимо


7. Расположение изображения травы:


x3, y3 = 0, 250 # координаты изображения травы на пейзаже

image.paste(grass_image, (x3, y3))


8. Сохранение полученного изображения:


image_with_landscapes = np.array(image)
final_image = Image.fromarray(image_with_landscapes)
final_image.save("пейзаж.bmp")