html的標簽 <canvas>用于圖形的繪制,通過腳本 (通常是JavaScript)來完成,canvas簡而言之就是個畫布,上一篇文章我們提到作業流的一個重要組成部分:流程建模,也就是流程圖;
啥也不說,咱先看個效果:
上面這個就是用canvas繪制的流程圖,流程圖里的節點連線都是自由拖拽上去的,
那么canvas是怎么繪制流程圖的,首先canvas只是html的標簽,那我們要實作流程節點的拖拽與繪制那肯定是要借助其他開發語言的,通常咱們使用JavaScript來完成繪制,那我們具體應該怎么做呢:
- 定義canvas畫布
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"> </canvas>
- 獲取畫布實體
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
3.使用畫布實體方法繪制
Canvas具體方法可參考https://www.runoob.com/html/html5-canvas.html
我這里是將節點都以圖片的形式繪制,簡單點來說就是先做好節點的圖片,比如這樣的
,為什么使用這種方式呢,因為做出來的好看點啊,然后使用畫布方法ctx.drawImage(img,10,10);繪制節點圖片,繪制圖片的時候需要制定圖片的繪制大小以及坐標,canvas就是個二維網格帶坐標位置的;這樣我們就能將節點放置到我們指定的位置了;
經過以上三個步驟,咱們就初步的將節點繪制出來了,算是朝著成功又邁進了一個豬蹄子 哈哈哈,當然,要實作真正流程圖繪制,這還只是個開始;不過也別氣餒,一步一步做到才更有成就感不是,
這里可能有些同學可能要問了,為啥使用canvas來繪制流程圖呢,為什么不用其他的;如果你問出這個疑問,那說明你的小腦瓜是活動的,哈哈,開個玩笑啦;以前最早的時候用過flash繪制過流程圖,但是后來因為瀏覽器對flash的支持問題,最后人在屋檐下不得不低頭啊;之后又看過SVG,這個也是蠻強大的,svg與canvas各有千秋,最終個人偏好吧決定使用canvas來繪制流程圖,
好吧,這篇就先寫到這里,寫太長了寫的累大伙看的也累,哈哈
歡迎大伙留言評論,交流才能更好的進步,是吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/125508.html
標籤:其他
上一篇:VHDL語法問題
下一篇:元亨光電發送卡引數寫入?
