Задачи
Задача 1
Считается, что противоположные цвета С1 и С2, заданные как RGB и (255-R)(255-G)(255-B), хорошо гармонируют друг с другом. R, G и B — это интенсивность, соответственно, красной, синей и зеленой составляющих цвета.
Напишите программу, которая получает на вход цвет в виде трех вводимых через пробел его составляющих в нотации RGB, и выдаёт в ответ цвет, противоположный введенному.
Пример
Ввод
Вывод
Задача 2
В работе программ и веб-сервисов иногда случается, что нужная картинка не загружается. В этом случае они показывают вместо неё блок, залитый «усреднённым» цветом нужной картинки.
Например, из изображения:

Получается вот такое:

Мы решим упрощенную задачу: используя библиотеку PIL, реализуйте алгоритм, который вычисляет среднее значение каждой составляющей R, G, B и выводит эти значения на экран через пробел.
Формат ввода

Формат вывода
Задача 3
Время рисовать! Давайте с помощью функций библиотеки PIL нарисуем лодку с парусом. Напишите функцию picture(file_name, width, height, sky_color, ocean_color, boat_color, sail_color, sun_color):
Параметр
file_nameзадаёт имя файла будущей картинки (Все имена файлов имеют расширение .bmp).Параметры
width,heightзадают ширину и высоту в пикселях и всегда кратны 100.Параметр
sky_colorзадаёт цвет неба в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#87CEEB.Параметр
ocean_colorзадаёт цвет океана в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#017B92.Параметр
boat_colorзадаёт цвет лодки в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#874535.Параметр
sail_colorзадаёт цвет паруса в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#FFFFFF.Параметр sun_color задаёт цвет солнца в форме кортежа из трёх целых чисел. Задайте значение по умолчанию
#FFCF40.
Параметры функции должны быть названы именно так, как указано в сигнатуре функции в условии
При вызове функции picture(’test.bmp’, 1000, 800) должно быть получено такое изображение:

На следующем изображении показаны пропорции элементов по отношению к размеру изображения (горизонтальные размеры написаны горизонтально, а вертикальные — вертикально):

Задача 4
Напишите функцию gradient(color), создающую графический файл с плавным переходом цвета. Файл должен содержать прямоугольник длиной 512 пикселей (по 2 пикселя на каждый оттенок) и высотой 200 пикселей.
В функцию передается обозначение цвета, градиент которого надо построить. Варианты цветов: R, G и B. Обозначение может быть введено в любом регистре.
Формат ввода
Формат вывода
Файл res.png:

Примечания
Для того чтобы создать новое изображение необходимо воспользоваться функцией Image.new():
Для рисования на изображении используется объект Draw из библиотеки ImageDraw. У этого объекта есть много инструментов для создания графических примитивов: прямых, кривых, точек, прямоугольников, дуг и т.д.
Следующий пример создает новое черное изображение размером 100 на 200 и нарисует на нем линию красного цвета, толщиной в 1 пиксель из левого верхнего в правый нижний угол.
Подробно про библиотеку ImageDraw можно почитать тут.
Задача 5
Напишите функцию board(num, size), создающую графический файл в формате PNG с изображением квадратного чёрно-белого клетчатого поля.
В функцию поступают два целых числа — количество клеток n и размер клетки в пикселях s. (в примере создаётся доска 8x8 клеток, размер каждой клетки — 50x50 пикселей).
Левая верхняя клетка должна быть чёрной.
Формат ввода
Формат вывода
Графический файл res.png:

Примечания
Чтобы создать новое изображение, необходимо воспользоваться функцией Image.new():
Для рисования прямоугольников воспользуйтесь функцией rectangle() из ImageDraw. Напомним, что подробная информация тут.
Задача 6
И снова время рисовать! Новый год прошел достаточно давно, поэтому хочется опять вернуть новогоднее настроение. Давайте с использованием библиотеки PIL нарисуем ёлочку.
Напишите функцию picture(file_name, width, height, sky_color, snow_color, trunk_color, needls_color, sun_color):
Параметр
file_nameзадаёт имя файла будущей картинки (Все имена файлов имеют расширение .bmp).Параметры
width,heightзадают ширину и высоту в пикселях и всегда кратны 100.Параметр
sky_colorзадаёт цвет неба в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#75BBFDПараметр
snow_colorзадаёт цвет снега в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#FFFAFAПараметр
trunk_colorзадаёт цвет ствола в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#A45A52Параметр
needls_colorзадаёт цвет хвои в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#01796FПараметр
sun_colorзадаёт цвет солнца в форме кортежа из трёх целых чисел. Задайте значение по умолчанию#FFDB00
Параметры функции должны быть названы именно так, как указано в сигнатуре функции в условии
При вызове функции picture(’test.bmp’, 1000, 800) должно быть получено такое изображение:

На следующем изображении показаны пропорции элементов по отношению к размеру изображения (горизонтальные размеры написаны горизонтально, а вертикальные — вертикально):
