2013-12-12 2 views
1

파이썬을 사용하여 다음 HTML5 캔버스 스트로크를 수행하려면 어떻게해야합니까? Tkinter을 사용 하시겠습니까? Qt? WxWidgets? 다른 도서관?파이썬과 동일한 HTML5 캔버스

<!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> 

답변

2

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() 
+0

감사합니다 :

다음은 예입니다! 아니, 테두리 색상은 관련이 없지만 유용한 정보입니다. –

+0

완전히 다른 질문이지만 캔버스를 SVG로 저장할 수 있습니까? –

+1

@MarkRichman : svg에 대한 내장 지원 기능은 없지만 캔버스의 객체는 픽스맵이 아닌 객체이며 캔버스는 훌륭한 인트로 스펙 션 기능을 가지고 있습니다. 캔버스의 내용을 SVG로 변환하는 것은 아주 간단합니다. 나는 Tcl (예 : http://wiki.tcl.tk/4534)에서이 작업을 수행 한 것을 보았지만, 파이썬으로 처리 한 것을 본 적이 없다. –