Python 帆布的大小(以kivy为单位)
在我的应用程序中,我需要知道画布的像素大小 调用Python 帆布的大小(以kivy为单位),python,kivy,Python,Kivy,在我的应用程序中,我需要知道画布的像素大小 调用canvas.size将返回[100100],无论画布有多宽 你能告诉我一种方法来获得画布的宽度和高度是多少像素吗?我猜你实际上需要窗口大小来知道你的图像边界是什么。在这种情况下,您可以使用: from kivy.core.window import Window size = Window.size 当然,您可以将画布的源图像与PIL或scipy等一起使用,以获得其分辨率(画布将匹配该分辨率)。画布中没有位置和大小。画布就像图形指令的容器一样,
canvas.size
将返回[100100]
,无论画布有多宽
你能告诉我一种方法来获得画布的宽度和高度是多少像素吗?我猜你实际上需要窗口大小来知道你的图像边界是什么。在这种情况下,您可以使用:
from kivy.core.window import Window
size = Window.size
当然,您可以将画布的源图像与PIL或scipy等一起使用,以获得其分辨率(画布将匹配该分辨率)。画布中没有位置和大小。画布就像图形指令的容器一样,就像在纹理中绘制的Fbo一样,所以它有一个大小
在Kivy中,Canvas.size不存在,但我猜您将小部件称为Canvas。默认情况下,小部件的大小是100100。如果将其放入布局中,当布局知道其自身大小时,大小将发生更改。也就是说,您需要监听Widget.size的更改,或者使用已知的大小,如Window.size。无论您做什么,画布的“大小”似乎都是(100100)。您要查找的大小必须是小部件大小,例如。 如果您有一个FloatLayout,并希望在其上绘制一个填充它的矩形 尝试: 而不是
Rectangle(pos_hint={'x': 0, 'y': 0}, size=f.canvas.size)
Rectangle(pos_hint={'x': 0, 'y': 0}, size=f.canvas.size)