2017-03-29 24 views
0

レイアウトの中央に画像を表示したい。私はそれを理解できませんでした。レイアウトの中心にイメージを表示し、アニメーションが停止するまでイメージを表示する方法はありますか?Kivyに画像を読み込む

ここに私のコードです。

from kivy.app import App 
from kivy.lang import Builder 
from kivy.uix.floatlayout import FloatLayout 
from kivy.animation import Animation 
from kivy.properties import NumericProperty 

Builder.load_string('''        
<Loading>: 
    canvas: 
     Rotate: 
      angle: root.angle 
      origin: self.center 
     Color: 
      rgb: .0, 0, -.1 
     Ellipse:  
      size: min(self.size), min(self.size) 
      pos: 0.5*self.size[0] - 0.5*min(self.size), 0.5*self.size[1] - 0.5*min(self.size) 
     Color: 
      rgb: .5, 0, 1 
     Ellipse:  
      size: 30, 30 
      pos: 0.5*root.size[0]+25, 0.8*root.size[1]-25 
''') 


class Loading(FloatLayout): 
    angle = NumericProperty(0) 

    def __init__(self, **kwargs): 
     super(Loading, self).__init__(**kwargs) 
     anim = Animation(angle = 1009, duration=2.5) 
     anim += Animation(angle = 1900, duration=2.5) 
     anim.repeat = True 
     anim.start(self) 

    def on_angle(self, item, angle): 
     if angle == 360: 
      item.angle = 0 


class TestApp(App): 
    def build(self): 

     return Loading() 

TestApp().run() 
+0

Kivyリポジトリの[examples](https://github.com/kivy/kivy/tree/master/examples)フォルダを必ず確認してください。 – KeyWeeUsr

答えて

0

私はあなたのキャンバスがそのような "ルーズ"であるとは思わない。それをウィジェットの中に置くと、Kivyのさまざまなレイアウトを使ってものを並べ替えることができます。また、ウィジェットの上に画像を挿入したり、画像を回転させたりせずに挿入することもできます。

もう1つは、rgbaを使用して、背景に透明シートを指定できるようにすることです。以下、この例では、私の作品、ちょうどこれでBuilderの文字列を置換:

"""<Loading>: 
FloatLayout: 
    Image: 
     source: 'logo.png' 
    Widget: 
     canvas: 
      Rotate: 
       angle: root.angle 
       origin: self.center 
      Color: 
       rgba: 1, 1, 1, 0 

      Ellipse:  
       size: min(self.size), min(self.size) 
       pos: 0.5*self.size[0] - 0.5*min(self.size), 0.5*self.size[1] - 0.5*min(self.size) 
      Color: 
       rgba: .5, 0, 1, 1 

      Ellipse:  
       size: 30, 30 
       pos: 0.5*root.size[0]+25, 0.8*root.size[1]-25 
      Color: 
       rgba: 0.5, 0, 1""" 

また、私は、たとえば使用私たちの部署のロゴを添付しました。サイズを微調整し、適切なサイズ変更の呼び出しを追加することはあなたに任せます。 logo

関連する問題