Работа с изображениями, разбор домашних заданий

Замечание: тема «Графические форматы» актуальна для школьной информатики и, кажется, ЕГЭ.

Домашнее задание

  1. {i} Прочитать в Википедии про цветовое пространство RGB и цветовое пространство CMYK (обратите внимание: авто статьи про CMYK явно полиграфист и тема прозрачности изображения, которую, собственно, даёт введение четырёх параметров вместо трёх, ему недоступна :) )

  2. {i} Прочитать в Википедии же про формат X Pixmap (XPM)

  3. Прочитать документацию по модулю Color и {*} про работу с палитрой в модуле Surface (ключевое слово «palette»).

  4. {*} Совет: программа работы с растровыми изображениями GIMP свободная и кроссплатформенная, доступна тут

  5. Написать программу
  6. Написать функции чтения из файла и записи в файл изображения в формате XPM (можно ограничиться одним символом на цвет) и поиздеваться с их помощью над изображениями. Финальное преобразование к формату, например, PNG можно сделать в PyGame так:

       1   img=pygame.image.load("файл.xpm")
       2   pygame.image.save(img,"файл.png")
    
    • сгенерировать пустой XPM-шаблон заданного размера для того, чтобы потом отредактироварть его в текстовом редакторе (можно и палитру заранее вбить)
    • поменять два цвета местами
    • затемнить картинку
    • повернуть изображение на 90°
    • перекосить изображение, сдвинув первый ряд пикселей на 1, второй — на 2 и т. п. пикселя вправо
    • {*} нарисовать окружность поверх картинки

  7. <!> Создать палитрованный Surface (для этого достаточно указать depth=8), задать палитру для него, нарисовать ряд прямоугольников всех цветов палитры и устроить «анимацию» путём циклического сдвига палитры (нулевой цвет становится первым, первый — вторым и т. п., последний — нулевым)

Условные обозначения


CategoryClass CategoryVmsh

LecturesVMSH/Python/2013-03-15 (последним исправлял пользователь FrBrGeorge 2013-03-22 15:08:32)