【问题标题】:Python Equivalent of HTML5 CanvasHTML5 Canvas 的 Python 等价物
【发布时间】:2013-12-13 04:27:52
【问题描述】:

如何使用 Python 完成以下 HTML5 画布笔划?我会使用Tkinter 吗?吗?小部件?其他图书馆?

<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
</canvas>

<script>

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(20,100);
ctx.lineTo(70,100);
ctx.strokeStyle="red";
ctx.stroke();

</script> 

</body>
</html>

【问题讨论】:

    标签: python html canvas tkinter html5-canvas


    【解决方案1】:

    使用 tkinter 可以使用 Canvas 小部件类型。你不能直接改变边框的颜色;我不确定这是否是问题的一部分。您可以轻松绘制彩色边框,或将其放在彩色框架内为其添加边框。

    要创建线条,请使用create_line 方法。

    这是一个例子:

    import Tkinter as tk
    
    class Example(tk.Frame):
        def __init__(self, root):
            tk.Frame.__init__(self, root)
            self.canvas = tk.Canvas(width=300, height=150,borderwidth=1)
            self.canvas.pack(side="top", fill="both", expand=True)
            points = (20,20,20,100,70,100)
            self.canvas.create_line(points, fill="red")
    
    if __name__ == "__main__":
        root = tk.Tk()
        Example(root).pack(fill="both", expand=True)
        root.mainloop()
    

    【讨论】:

    • 谢谢!不,边框颜色无关紧要,但这是有用的信息。
    • 这是一个完全独立的问题,但是画布可以保存为 SVG 吗?
    • @MarkRichman:没有内置对svg的支持,但是画布上的对象是对象而不是像素图,并且画布具有很好的自省能力。将画布的内容转换为 SVG 应该非常简单。我已经看到它在 Tcl 中完成(例如:wiki.tcl.tk/4534),但我还没有看到它在 python 中完成。
    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 2018-06-05
    相关资源
    最近更新 更多