Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.lorien.cs.msu.su/LecturesVMSH/Python/2013-03-15
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 02:35:14 2016
Кодировка: UTF-8
LecturesVMSH/Python/2013-03-15 - UNИX

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

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

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

  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 12:08:32)