2017-12-12 19 views
0

私はイメージと楕円のasetを描画するコードをテストしています。コードは非常に簡単ですが、私はそれの結果を理解していない:Kivy:イメージング用のツールを使用する

  • なぜ楕円は、どのようにそれが白い四角を作った
  • 白いのですか?

これは私に説明できますか?

from kivy.app import App 
from kivy.graphics import Color, Rectangle, Ellipse 
from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.label import Label 
from kivy.uix.button import Button 
from kivy.uix.widget import Widget 

from kivy.uix.image import Image 

class Scene(BoxLayout): 

    def __init__(self, **kwargs): 
     super(Scene, self).__init__(**kwargs) 
     with self.canvas: 
      Color(1,1,0) 

      wimg = Image(source = 'grase.png', pos = (50, 50)) 
      wimg = Image(source = 'grase.png', pos = (90, 50)) 
      wimg = Image(source = 'grase.png', pos = (130,50)) 
      wimg = Image(source = 'grase.png', pos = (170,50)) 
      wimg = Image(source = 'grase.png', pos = (210,50)) 

      wimg = Ellipse(size=(20,20), pos = (250,180)) 

     return 

class DogApp(App): 

    def build(self): 
     self.g = Scene() 
     return self.g 

if __name__ == '__main__': 
    DogApp().run() 

enter image description here

答えて

0

画像はウィジェットではなく、グラフィック命令ですので。
このようにしてください:

from kivy.app import App 
from kivy.graphics import Color, Rectangle, Ellipse 
from kivy.uix.floatlayout import FloatLayout 
from kivy.uix.image import Image 


class Scene(FloatLayout): 

    def __init__(self, **kwargs): 
     super(Scene, self).__init__(**kwargs) 
     with self.canvas: 
      Color(1,1,0) 
      Ellipse(size=(20,20), pos = (250,180)) 

     for i in range(0,450,50): 
      self.add_widget(Image(source = 'grase.png', pos = (i,50))) 


class DogApp(App): 

    def build(self): 
     self.g = Scene() 
     return self.g 


if __name__ == '__main__': 
    DogApp().run() 
関連する問題