我有几个关于在 kivy 中显示图像文件的问题。
我正在用 kivy 开发一个视奏训练应用程序。我想显示一个分数 png 文件,如下所示。
之后,我想自动从右向左滚动。
首先,当我调整窗口大小时,分数扩展得太像下面了。我想保持图像的比例。你会告诉如何做到这一点?
.kv 文件
FloatLayout:
Image:
size_hint: self.image_ratio, 1
keep_ratio: False
allow_stretch: True
canvas.before:
Color:
rgb: 1,1,1
Rectangle:
size: self.size
pos: self.pos
source: 'score.png'
.py 文件
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.scatter import Scatter
from kivy.uix.image import Image
from kivy.uix.widget import Widget
from kivy.graphics import Rectangle, Color
from kivy.core.window import Window
class ScoreViewApp(App):
def build(self):
pass
if __name__=='__main__':
ScoreViewApp().run()
其次,我应该选择以下哪种方式在 kivy 中显示图像文件?
- 在小部件的画布上使用图像纹理绘制矩形
- 使用 Image 小部件加载图像作为源
你能告诉我为什么吗?我不知道这些之间的区别。
最后,我通过在 canvas.before 上绘制一个白色矩形将 Image 小部件的背景设置为白色。我首先在画布上指示了这个,但它只显示了一个没有分数 png 的白屏。在那之后,我在 canvas.before 上做了。我能够在白色背景上显示分数。你能告诉我为什么要在画布上指导它。“之前?”
对不起,我的英语不好。