Kivy缩放图像无法工作

3

我在这里读到,这个kivy文件应该可以将我的图片调整为40x40像素大小:但是它只改变了位置。我该如何改变大小?这需要在.kv文件中完成。

代码:

Kivy文件

#kivy 1.7.2
Root:
    Image:
        source: 'torch.png'
        size_hint_y: None
        size_hint_x: None
        height: dp(40)
        width: dp(40)

主要脚本:

from kivy.app import App
from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.factory import Factory
from kivy.properties import ObjectProperty
from kivy.core.window import Window
class Root(FloatLayout):
    pass
class RPGApp(App):
    pass
RPGApp().run()

我刚刚根据其他问题尝试了这个。函数db到底是做什么的?老实说,我对kivy还很陌生。 - pianist1119
1个回答

5
不想使用db,而是要用dp吗?这将转换为独立像素密度单位,即在不同像素密度的屏幕上应保持相同的“真实”大小。
如果您只希望图像为40像素正方形,则可以完全省略该函数(即height: 40width: 40或只使用size: 40, 40)。
这在kivy的度量衡页面上有解释。

还是不起作用。使用pygame api可以缩放图像吗?我的小图像仍然没有缩放,它在左下角很小。如果我猜的话,它可能在(40, 40)处。 - pianist1119
如果你希望它能够按比实际图像更大的尺寸进行缩放,你还必须设置 allow_stretch: True。请查看Image文档获取更多信息。 - inclement
那么现在我该如何改变位置呢?(就像我说的,我对Kivy还很陌生。它运行得很完美,我不需要更清晰的解释,但是仅使用'position: 50, 50'似乎不起作用。) - pianist1119
pos是表示位置的属性。你应该阅读入门指南和示例(例如乒乓球示例)来了解这种情况。 - inclement
好的,我有一段时间没看过这些(实际上我正在重新启动Kivy)。我尝试了position,所以pos会起作用,谢谢。 - pianist1119

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接