開發圖形編輯器

一般開發這種需求,首先要了解幾個概念性的東西,才能更好的熟練使用這些框架。

  1. 節點 (就是每個圖形),有矩形、圖形,或者自義定圖形,像jsplumb它是通過svg和dom結合渲染
  2. 端點 (圖形上面的錨點)一般情況都固定圖形的上下左右
  3. 連接線 (從起始端點連接到結束端點的線).線有很多種、直線、貝塞爾、折線.

另外還有一些其它圖形方面可能用到的

  1. 圖形渲染框架.g6、jsplumb、fabric、zrender
  2. 圖形佈局(如樹圖、流程圖、力導向圖) d3、graphlib

基於g6

g6:支持canvas或svg渲染.
g6是一個更底層的框架,它更多的是渲染一些節點佈局,它自帶一套佈局系統,也可以自定義佈局。如果把它用來開發編輯器,很多需要自己來處理。可以通過註冊插件擴展應用、註冊行爲去擴展交互、註冊節點擴展節點多樣化、註冊連接線擴展線的多樣化

在這裏插入圖片描述

基於jsplumb

是基於dom和svg渲染。它相比較g6,g6更底層一些,g6很多東西需要自己實現。而jsplumb都有現成的

  • 它的節點需要自己定義創建,需要靈活也很高,你可以自己用div設計一個很漂亮和高交互的層.
  • 默認樣式配置很豐富,樣式除了通過動態js配置,也可以通過css來控制
  • 各種攔載事件與監聽事件很完善
  • 沒有對應節點對象,所以節點上面的事件或交互需要自己來寫
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章