GTK - область рисования прозрачного фона

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

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

Теперь я думаю, что мне нужно изменить gtk.gdk.GC растрового изображения объекта, чтобы фоновый цвет был прозрачным. Вот где у меня проблемы. Я не знаю, как установить альфа gtk.gdk.Color.

Как установить альфа-версию gtk.gdk.Color? (или любой другой способ сделать цвет прозрачным)

Если эта идея вряд ли сработает, пожалуйста, дайте мне знать. Я довольно новичок в GTK.

1 ответ

Я не знаю, поможет ли это вам, но мой лучший совет - использовать Cairo: библиотеку 2D-графики с открытым исходным кодом, обеспечивающую межплатформенную поддержку для расширенного 2D-рисования. Думаю, это также самый простой способ рисования 2D-графики (в прошлом я пробовал GDK, и мне показалось, что его было гораздо сложнее использовать).

В Python вы можете использовать конкретные привязки Pycairo. Здесь вы можете узнать больше об этом с помощью простых руководств.

Для вашей конкретной проблемы, смотрите больше об изображениях и прозрачности.

Основными функциями прозрачности являются:

Отличное резюме, чтобы узнать, как управлять изображениями и прозрачностью, можно найти в примере " Отраженное изображение" на той же странице, на которой ранее была ссылка о прозрачности.

Другие вопросы по тегам