Маскинг и обрезка в PyCairo [Урок 6]

В данной части курса PyCairo мы поговорим об обрезке и маскирующих операциях. Изображения, используемые в данном учебном материале можно скачать здесь.

Обрезка

Обрезка – это ограничение рисунка в конкретно взятой области. Это делается из соображений эффективности и для создания интересных эффектов. Метод clip() в PyCairo применяется для создания вырезки.

В данном примере мы обрежем изображение. Круг перемещается по области окна и показывает часть нашего изображения. Как если бы мы смотрели на что-то сквозь круглое отверстие.

Это основное изображение. Мы будем видеть часть этого изображения после каждого цикла таймера.

Если окружность заденет левую или правую часть окна, направление движения круга изменится случайным образом. Это касается нижней и верхней части окна.

Данная линия добавляет круговой путь к контексту Cairo.

Метод clip()  устанавливает область обрезки. Область обрезки – это используемый путь. Этот путь был создан при помощи метода arc().

Метод paint() зарисовывает выбранный исходник внутри всей области его обрезки.

Маскинг и обрезка в PyCairo [Урок 6]

Маскировка

Перед тем как нанести исходник на поверхность, его нужно отфильтровать. Маска используется в качестве фильтра. Маска определяет, где исходник будет наноситься, а где нет. Непрозрачные части маски позволяют копировать исходник на поверхность. Прозрачные части не позволяют копировать исходник на поверхность.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!



В данном примере, маска определяет, где рисовать, а где не рисовать.

Мы используем изображение в качестве маски, таким образом, отображая его в окне.

Маскинг и обрезка в PyCairo [Урок 6]