Python cairo:在从0到1的空间中绘制x和y方向上的所有内容,并仅在最后重新缩放到特定分辨率(可调整大小的窗口)

Python cairo:在从0到1的空间中绘制x和y方向上的所有内容,并仅在最后重新缩放到特定分辨率(可调整大小的窗口),python,plot,resize,gtk,cairo,Python,Plot,Resize,Gtk,Cairo,我正在使用cairo和python中的GTK+。通过使用expose事件,我将0到1的值乘以画布的分辨率,从而获得要绘制的内容的可调整大小的版本 我想知道:是否可以通过在0到1的空间(x和y)中绘制所有内容,然后仅使用最后一个“魔术”技巧,将已绘制的所有内容调整到所需的分辨率来避免每个绘图函数中的大小调整?您可以使用matplotlib来绘制图形,它会自动缩放绘图。我还没有这样做,但我相信您可以使用GTK小部件(使用GtkAgg) 如果您担心的只是缩放,请不要规格化到0-1的范围。只需计算exp

我正在使用cairo和python中的GTK+。通过使用
expose
事件,我将0到1的值乘以画布的分辨率,从而获得要绘制的内容的可调整大小的版本


我想知道:是否可以通过在0到1的空间(x和y)中绘制所有内容,然后仅使用最后一个“魔术”技巧,将已绘制的所有内容调整到所需的分辨率来避免每个绘图函数中的大小调整?

您可以使用
matplotlib
来绘制图形,它会自动缩放绘图。我还没有这样做,但我相信您可以使用
GTK小部件
(使用
GtkAgg


如果您担心的只是缩放,请不要规格化到0-1的范围。只需计算
expose()
事件发生时的比例因子,然后使用移动/缩放绘图。

这是什么版本的GTK+?我很确定你可以使用cairo转换来实现这一点…@andlabs:这个版本是2.0版本的最新版本,你能添加一些关于如何使用转换的细节吗?