摘要:它是一款全自動(dòng)圖生成器,支持。但是圖并不方便操作。因?yàn)榻?jīng)常使用來(lái)做圖,所以如果能生成一個(gè)可以導(dǎo)入到的文件那就更好了。文件支持導(dǎo)入文件,那文件到底是什么樣子的是導(dǎo)出時(shí),生成的圖片,包含各個(gè)元素。導(dǎo)入主要看的是。
Phuml項(xiàng)目需要畫uml圖,手寫浪費(fèi)時(shí)間,于是就搜了一些相關(guān)的工具來(lái)生成它。有php插件phpumd等等。發(fā)現(xiàn)了一個(gè)簡(jiǎn)單易用的工具,那就是phuml。
它是一款全自動(dòng)uml圖生成器,支持php5。
安裝教程git clone https://github.com/jakobwesthoff/phuml //下載源碼 yum install graphviz //安裝圖形庫(kù) cd phuml/src/app ./phuml -r /path -graphviz -createAssociations false -neato test.png //生成uml圖
是不是很簡(jiǎn)單。
但是uml圖并不方便操作。因?yàn)榻?jīng)常使用processon來(lái)做圖,所以如果能生成一個(gè)可以導(dǎo)入到processon的.pos文件那就更好了。
processon支持導(dǎo)入.pos文件,那.pos文件到底是什么樣子的?
{ "diagram":{ //image是導(dǎo)出時(shí),生成的圖片,elements包含各個(gè)元素。導(dǎo)入主要看的是elements。 "image":{ "height":322, "pngdata":"", //導(dǎo)出時(shí),base64格式圖片 "width":310, "y":9, "x":26 }, "elements":{ "page":{ "gridSize":15, //網(wǎng)格大小 "showGrid":true, //顯示網(wǎng)格 "orientation":"portrait", //頁(yè)面方向 portrait豎向 "height":1500, //頁(yè)面高度 "backgroundColor":"transparent", //背景顏色 "width":1250, //頁(yè)面長(zhǎng)度 "padding":20 //頁(yè)面的灰邊寬度 }, "elements":{ "15a3b34d769898":{ //生成一串隨機(jī)id作為標(biāo)識(shí),每個(gè)圖形都對(duì)應(yīng)著一個(gè) "textBlock":[ //文本塊,uml圖為三塊 //類名 { "position":{ "w":"w-20", "h":"30", "y":"0", "x":"10" }, "text":"類" }, //屬性 { "position":{ "w":"w-20", "h":47, "y":"35", "x":"10" }, "text":"+ attribute1:type = defaultValue + attribute2:type - attribute3:type", "fontStyle":{ "bold":false, "textAlign":"left" } }, //方法 { "position":{ "w":"w-20", "h":145, "y":93, "x":"10" }, "text":"+ operation1(params):returnType - operation2(params) - operation3() + operation1(params):returnType - operation2(params) - operation3() + operation1(params):returnType - operation2(params) - operation3()", "fontStyle":{ "bold":false, "textAlign":"left" } } ], "lineStyle":{ }, "link":"", "children":[ ], "parent":"", "attribute":{ "linkable":true, "visible":true, "container":false, "rotatable":true, "markerOffset":5, "collapsable":false, "collapsed":false }, "fontStyle":{ "bold":true }, "resizeDir":[ "tl", "tr", "br", "bl" ], "dataAttributes":[ ], "shapeStyle":{ "alpha":1 }, "id":"15a3b34d769898", "anchors":[ { "y":"0", "x":"w/2" }, { "y":"h", "x":"w/2" }, { "y":"h/2", "x":"0" }, { "y":"h/2", "x":"w" } ], "title":"類", "category":"uml_class", "name":"cls", "path":[ { "actions":[ { "action":"move", "y":"4", "x":"0" }, { "y1":"0", "action":"quadraticCurve", "y":"0", "x":"4", "x1":"0" }, { "action":"line", "y":"0", "x":"w-4" }, { "y1":"0", "action":"quadraticCurve", "y":"4", "x":"w", "x1":"w" }, { "action":"line", "y":"h-4", "x":"w" }, { "y1":"h", "action":"quadraticCurve", "y":"h", "x":"w-4", "x1":"w" }, { "action":"line", "y":"h", "x":"4" }, { "y1":"h", "action":"quadraticCurve", "y":"h-4", "x":"0", "x1":"0" }, { "action":"close" } ] }, { "fillStyle":{ "type":"none" }, "actions":[ { "action":"move", "y":30, "x":"0" }, { "action":"line", "y":30, "x":"w" }, { "action":"move", "y":88, "x":"0" }, { "action":"line", "y":88, "x":"w" } ] }, { "lineStyle":{ "lineWidth":0 }, "fillStyle":{ "type":"none" }, "actions":[ { "action":"move", "y":"0", "x":"0" }, { "action":"line", "y":"0", "x":"w" }, { "action":"line", "y":"h", "x":"w" }, { "action":"line", "y":"h", "x":"0" }, { "action":"close" } ] } ], "fillStyle":{ }, "locked":false, "group":"", "props":{ "w":230, "heights":[ 30, 50, 145 ], "angle":0, "h":242, "y":49, "zindex":1, "x":66 } } } } }, "meta":{ "id":"58a29cdce4b028637aca553f", "member":"saber", "exportTime":"2017-02-14 14:00:44", "diagramInfo":{ "category":"uml", "title":"訂單", "created":"2017-02-14 13:59:56", "attributes":null, "creator":"saber", "modified":"2017-02-14 14:00:25" }, "type":"ProcessOn Schema File", "version":"1.0" } }
所以只要仿照著它的格式來(lái)一份就能生成一份pos文件。
使用git clone https://github.com/sabercoding/phuml.git //下載源碼 ./phuml -r /path -processon test.pos //生成pos文件待優(yōu)化之處
類圖大小及文本塊大小
類之間的關(guān)系
類排版
最新發(fā)表在這里
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22375.html
摘要:截至發(fā)文,最新版本為內(nèi)容機(jī)密,團(tuán)隊(duì)使用首選私有部署,形式部署非常簡(jiǎn)單,只要分鐘,行代碼,你就可擁有自己專屬的媲美的流程圖應(yīng)用。私有部署的還有一個(gè)好處是可以進(jìn)行二次開發(fā)。 ...
上次講了2個(gè)游戲源碼 前端實(shí)戰(zhàn)之js推箱子游戲(有界面、附源碼、贊關(guān)藏) Python實(shí)戰(zhàn):五子棋小游戲,切身感受一下前端和桌面應(yīng)用的區(qū)別,選擇自己喜歡的 本來(lái)今天準(zhǔn)備寫一篇面向?qū)ο笪恼拢窍胍幌?,講面向?qū)ο笾斑€是先給大家介紹幾款實(shí)用的工具,更加快速的理解,掌握知識(shí)點(diǎn)。 1.UML 統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可...
摘要:?jiǎn)卫J侥J较盗械拈_篇,首先介紹的是我最喜歡的單例模式,簡(jiǎn)單而言,這屬于生成一個(gè)且只生成一個(gè)對(duì)象實(shí)例的特殊類。問題良好設(shè)計(jì)的系統(tǒng)通過(guò)方法調(diào)用傳遞對(duì)象實(shí)例。面向?qū)ο笤O(shè)計(jì)模式目錄 單例模式 模式系列的開篇,首先介紹的是我最喜歡的單例模式(Singleton),簡(jiǎn)單而言,這屬于:生成一個(gè)、且只生成一個(gè)對(duì)象實(shí)例的特殊類。 這個(gè)唯一存在的類,將替代Global關(guān)鍵字,并且更安全。 產(chǎn)生前提 全局...
摘要:分鐘快速部署數(shù)字繪經(jīng)常有小伙伴問,有沒有一款好用又免費(fèi)的畫圖軟件,畫畫流程圖思維導(dǎo)圖今天就介紹一款開源的在線畫圖軟件,可以滿足多方的需求。為了方便部署和解決環(huán)境兼容性等問題,采用來(lái)部署安裝數(shù)字繪。 5分鐘快速部署DataDraw數(shù)字繪 經(jīng)常有小伙伴問,有沒有一款好用又免費(fèi)的畫圖軟件,畫畫流程圖、UML、思維導(dǎo)圖?今天就介紹一款開源的在線畫圖軟件,可以滿足多方的需求。 DataDraw數(shù)...
閱讀 1760·2023-04-26 00:30
閱讀 3180·2021-11-25 09:43
閱讀 2915·2021-11-22 14:56
閱讀 3218·2021-11-04 16:15
閱讀 1188·2021-09-07 09:58
閱讀 2052·2019-08-29 13:14
閱讀 3138·2019-08-29 12:55
閱讀 1019·2019-08-29 10:57