2015-05-08 3 views
1

Я использую cairo с GTK + в python. Используя событие expose, мне удается изменить версию, которую я хочу построить, путем умножения значений от 0 до 1 на разрешение холста.cairo: построение всего в пространстве от 0 до 1 как в x, так и в y и только в конце масштабирования до определенного разрешения (изменение размера окна)

Интересно: возможно ли избежать изменения размера в каждой функции графика, построив все в пространстве от 0 до 1 (как для x, так и для y), а затем только с окончательным «волшебным» трюком, изменяющим размер всего который был нанесен на желаемое разрешение?

+0

Какая версия GTK + это? И я уверен, что вы можете использовать преобразование cairo для этого ... – andlabs

+0

@andlabs: версия 2.latest, можете ли вы добавить некоторые подробности о том, как использовать преобразование? – fstab

ответ

1

Вы можете использовать matplotlib для построения графиков, которые автоматически масштабируют график. Я не сделал этого, но я верю, что вы можете configure it to draw к GTK widgetGtkAgg)

Если это просто масштабирование вы беспокоитесь, не нормализуется в диапазоне 0-1. Просто вычислите масштабный коэффициент в момент события expose() и используйте cairo functions для перемещения/масштабирования графика.

 Смежные вопросы

  • Нет связанных вопросов^_^