1

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で画像ファイルを表示するには、どの方法を選択すればよいですか?

  1. ウィジェットのキャンバスに画像テクスチャで長方形を描く
  2. 画像ウィジェットを使用して画像をソースとしてロードする

理由を教えてください。これらの違いがわかりません。

最後に、canvas.before に白い四角形を描画して、Image ウィジェットの背景を白にしました。最初にキャンバスでこれを指示しましたが、スコアpngのない白い画面しか表示されませんでした。その後、代わりにcanvas.beforeで行いました。白地にスコアを表示できました。キャンバスで指示する理由を教えてください。

私の悪い英語でごめんなさい。

4

0 に答える 0