Kivy如何旋转图片

nuk*_*bit 7 python kivy

我正在尝试旋转一些我必须在屏幕上显示的图片,这些图片在stacklayout内,我需要将它们显示为Portrait而不是landscape,我正在使用Image Widget Thanks

tit*_*ito 14

toto_tico之前的2个答案是一种方法,但我宁愿为它创建一个新的小部件,并使用它:

Builder.load_string('''
<RotatedImage>:
    canvas.before:
        PushMatrix
        Rotate:
            angle: root.angle
            axis: 0, 0, 1
            origin: root.center
    canvas.after:
        PopMatrix
''')

class RotatedImage(Image):
    angle = NumericProperty()
Run Code Online (Sandbox Code Playgroud)

然后,使用此小部件作为其他图像小部件,您只需要一个"角度"属性即可玩.

注意:除散点示例外,图像上不处理碰撞检测.对于旋转物体而言,散射可能很昂贵,但至少碰撞是有效的.