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で画像ファイルを表示するには、どの方法を選択すればよいですか?
- ウィジェットのキャンバスに画像テクスチャで長方形を描く
- 画像ウィジェットを使用して画像をソースとしてロードする
理由を教えてください。これらの違いがわかりません。
最後に、canvas.before に白い四角形を描画して、Image ウィジェットの背景を白にしました。最初にキャンバスでこれを指示しましたが、スコアpngのない白い画面しか表示されませんでした。その後、代わりにcanvas.beforeで行いました。白地にスコアを表示できました。キャンバスで指示する理由を教えてください。
私の悪い英語でごめんなさい。