Изображения в PyCairo [Урок №10]

В этой части учебного материала PyCairo мы поговорим об изображениях. Мы покажем, как отображать изображения в форматах PNG и JPEG в окне GTK. Также мы напишем текст на выбранном изображении. Изображения, используемые в данном учебном материале можно скачать здесь.

PNG изображение

В первом примере мы покажем PNG изображение.

Данный пример демонстрирует изображение.

Мы создаем поверхность изображения из PNG рисунка.

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

Рисуем в окне исходником.

Изображения в PyCairo [Урок №10]

JPEG изображения

Встроенная поддержка PyCairo работает только с PNG изображениями. Другие изображения могут быть отображены при помощи объекта GdkPixbuf.Pixbuf. Это объект окна GTK для работы над изображениями.

В данном примере мы отображаем JPEG изображение в окне.

В дополнение к методу GTK нам также понадобятся GDK и GdkPixbuf .

GdkPixbuf.Pixbuf был создан из файла JPEG.

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

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

Telegram Чат & Канал

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

Паблик VK

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



Метод Gdk.cairo_set_source_pixbuf()  указывает pixbuf в качестве исходника для рисования.

Водяной знак

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

Мы написали информацию об авторских правах на изображении.

В методе load_image() мы создали поверхность изображения из PNG файла.

В методе draw_mark()  мы пишем сообщение об авторских правах на изображении. Для начала мы создаем контекст рисования из поверхности изображения.

Теперь мы пишем короткий текст белым цветом.

Наконец, поверхность изображения нарисована в окне.

Изображения в PyCairo [Урок №10]