Различные примеры всегда используют alloc_color() и такие вещи, как gtk.color.parse('red') и т. д. Я просто делаю gtk.gdk.Color(65535,0,0), и это работает. Зачем нужен alloc_color
?
В чем смысл alloc_color() в gtk?
Ответы (1)
Если вы работаете в системе, которая использует отображение палитры (в отличие от отображения в реальном цвете), то вы должны выделить новые цвета в палитре, прежде чем сможете их использовать. Это связано с тем, что дисплеи на основе палитры могут одновременно отображать только ограниченное количество цветов (обычно 256 или иногда 65536).
Большинство дисплеев в наши дни способны отображать истинные цвета, которые могут отображать все доступные цвета одновременно, поэтому это не будет проблемой, и вы можете напрямую запрашивать определенные цвета.
person
Greg Hewgill
schedule
07.08.2009
выделяет ли он наиболее подходящий цвет, если работает в 256- или 16-битном цветовом режиме?
- person Claudiu; 07.08.2009
(я хочу сказать: если это так, я не понимаю, почему я должен делать это явно. Если это не так - почему бы и нет? это явно было бы моим намерением)
- person Claudiu; 07.08.2009
Это зависит от конкретной графической библиотеки. Я недостаточно знаком с GTK, чтобы сказать, выполняет ли
alloc_color()
какие-либо сопоставления.
- person Greg Hewgill; 07.08.2009