GTK - область рисования прозрачного фона
У меня есть область рисования GTK, и я хочу, чтобы в качестве фона для нее отображалось изображение, в то время как другие объекты можно рисовать поверх нее.
Моя первая попытка была связана с тем, что я просто взял изображение, поместил его в растровое изображение и нарисовал его перед тем, как рисовать другие объекты. Это привело к тому, что фоны объектов полностью покрывали мое фоновое изображение.
Теперь я думаю, что мне нужно изменить gtk.gdk.GC растрового изображения объекта, чтобы фоновый цвет был прозрачным. Вот где у меня проблемы. Я не знаю, как установить альфа gtk.gdk.Color.
Как установить альфа-версию gtk.gdk.Color? (или любой другой способ сделать цвет прозрачным)
Если эта идея вряд ли сработает, пожалуйста, дайте мне знать. Я довольно новичок в GTK.
1 ответ
Я не знаю, поможет ли это вам, но мой лучший совет - использовать Cairo: библиотеку 2D-графики с открытым исходным кодом, обеспечивающую межплатформенную поддержку для расширенного 2D-рисования. Думаю, это также самый простой способ рисования 2D-графики (в прошлом я пробовал GDK, и мне показалось, что его было гораздо сложнее использовать).
В Python вы можете использовать конкретные привязки Pycairo. Здесь вы можете узнать больше об этом с помощью простых руководств.
Для вашей конкретной проблемы, смотрите больше об изображениях и прозрачности.
Основными функциями прозрачности являются:
Отличное резюме, чтобы узнать, как управлять изображениями и прозрачностью, можно найти в примере " Отраженное изображение" на той же странице, на которой ранее была ссылка о прозрачности.