翻譯|行業資訊|編輯:楊鵬連|2020-09-29 09:35:29.067|閱讀 338 次
概述:GoJS具有創建SVG一個功能:Diagram.makeSvg,它返回一個新SVGElement與GoJS圖的表示。該方法有一個參數,一個JavaScript對象,其中包含幾個可定義的屬性,在文檔中進行了枚舉。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創建流程圖,且極大地簡化您的JavaScript / Canvas 程序。
零件選項允許我們指定要繪制的零件的可迭代集合。如果您只想制作圖的一部分的圖像,例如選擇節點,這將很有用。
myPartsList = new go.List(); myPartsList.add(myDiagram.findNodeForKey("Beta")); myPartsList.add(myDiagram.findNodeForKey("Delta"));
myDiagram.makeSvg({ parts: myPartsList });
myDiagram.makeSvg({ parts: myDiagram.links });
myDiagram.makeSvg({ scale: 1.5, size: new go.Size(100,100) });
我們可能需要一個非常大的,縮放后的圖像,該圖像的大小受到限制,我們可以使用maxSize屬性來限制一個或兩個尺寸。下圖應用了非常大的比例,但水平尺寸受到限制,因此將發生一些水平裁剪。
maxSize的默認值為go.Size(2000, 2000),并且指定go.Size(600, NaN)等效于指定go.Size(600, 2000)。如果我們不想在高度上裁剪,我們可以寫go.Size(600, Infinity)。myDiagram.makeSvg({ scale:9, maxSize:new go.Size(600,NaN) });
myDiagram.makeSvg({ position: new go.Point(20,20), size: new go.Size(50,50) });
myDiagram.makeSvg({ size:new go.Size(NaN,250), background:“ rgba( 0,255,0,0.5 )” //半透明的綠色背景 });
var d = myDiagram.documentBounds; var halfWidth = d.width / 2; var halfHeight = d.height / 2; svg = myDiagram.makeSvg({ position: new go.Point(d.x, d.y), size: new go.Size(halfWidth,halfHeight) }); addSVG(svg); // Adds the SVG to a DIV below svg = myDiagram.makeSvg({ position: new go.Point(d.x + halfWidth, d.y), size: new go.Size(halfWidth,halfHeight) }); addSVG(svg); svg = myDiagram.makeSvg({ position: new go.Point(d.x, d.y+ halfHeight), size: new go.Size(halfWidth,halfHeight) }); addSVG(svg); svg = myDiagram.makeSvg({ position: new go.Point(d.x + halfWidth, d.y + halfHeight), size: new go.Size(halfWidth,halfHeight) }); addSVG(svg);
var button = document.getElementById('openSVG'); button.addEventListener('click', function() { var newWindow = window.open("","newWindow"); if (!newWindow) return; var newDocument = newWindow.document; var svg = myDiagram.makeSvg({ document: newDocument, // create SVG DOM in new document context scale: 9, maxSize: new go.Size(600, NaN) }); newDocument.body.appendChild(svg); }, false);
下載SVG文件
如果您希望用戶下載SVG文件,則無需涉及Web服務器。請參閱樣本。請注意,該示例僅下載一個SVG文件,但是該文件可以覆蓋整個文檔。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: