如何用Python手绘画布?

时间:2014-10-21 13:40:08

标签: python canvas

我希望能够在Python上绘制画布并逐点记录笔画。这意味着用户点击画布,移动鼠标,再次提起鼠标按钮,...

所以我想像Python一样使用Python How do I hand draw on canvas?

我怎样才能用Python做到这一点?

我不是在寻找一种操纵数字的方法/放置SVG / ...

1 个答案:

答案 0 :(得分:1)

您可以使用Kivy库,Kivy网站上的一个启动教程正在制作simple painting app

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color, Ellipse, Line


class MyPaintWidget(Widget):

    def on_touch_down(self, touch):
        with self.canvas:
            Color(1, 1, 0)
            d = 30.
            Ellipse(pos=(touch.x - d / 2, touch.y - d / 2), size=(d, d))
            touch.ud['line'] = Line(points=(touch.x, touch.y))

    def on_touch_move(self, touch):
        touch.ud['line'].points += [touch.x, touch.y]


class MyPaintApp(App):

    def build(self):
        return MyPaintWidget()


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

这应该适用于基于Windows和Unix的系统,包括OSX,以及由Bulldozergithub)打包后的Android。您也可以为iOS制作一个包,但它更多complicated