您好,登錄后才能下訂單哦!
多段線又被稱為多義線,表示一起畫的都是連在一起的一個復合對象,可以是直線也可以是圓弧并且它們還可以加不同的寬度。
主要用到函數說明:
_DMxDrawX::PathLineTo
把路徑下一個點移到指定位置。詳細說明如下:
參數 | 說明 |
DOUBLE dX | 點的X坐標 |
DOUBLE dY | 點的Y坐標 |
_DMxDrawX::DrawPathToPolyline
把路徑變成一個Polyline。
js中實現代碼說明:
function?DrawPolyline()?{ ????//Polyline?又稱多義線,就是可以繪制多條首尾相連的線,也可以是圓弧相連,同是可以指定線的開始和結束寬。 ? ????//把顏色改回黑白色 ????mxOcx.DrawCADColorIndex?=?0; ? ????//把線型改成實線 ????mxOcx.LineType?=?""; ? ????//設置線寬?4 ????mxOcx.LineWidth?=?0; ? ????//創建一個圖層,名為"PolylineLayer" ????mxOcx.AddLayer("PolylineLayer");?; ? ????//設置當前圖層為"PolylineLayer" ????mxOcx.LayerName?=?"PolylineLayer"; ? ? ????//《---------------------------------------》 ????//用Plyline顯示繪制矩形框 ? ????//定義一個路徑的開始點 ????mxOcx.PathMoveTo(0,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(100,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(100,?400); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(0,?400); ? ????//把路徑設置成閉合 ????mxOcx.PathMakeClosed(); ? ? ????//把路徑閉合,生成一個矩形框 ????mxOcx.DrawPathToPolyline(); ? ????//《---------------------------------------》 ????//繪制一個有寬度,帶線型的矩形框 ????//定義一個路徑的開始點 ????mxOcx.PathMoveTo(200,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(300,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(300,?400); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(200,?400); ? ????//把路徑設置成閉合 ????mxOcx.PathMakeClosed(); ? ????mxOcx.AddLinetype("MyLineType3",?"30,-10"); ? ????mxOcx.LineType?=?"MyLineType3"; ? ????mxOcx.DrawCADColorIndex?=?255; ? ????mxOcx.LineWidth?=?5; ? ????mxOcx.DrawPathToPolyline(); ? ????//《---------------------------------------》 ????//繪制一個有寬度的矩形框 ????//定義一個路徑的開始點 ????mxOcx.PathMoveTo(400,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(500,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(500,?400); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(400,?400); ? ????//把路徑設置成閉合 ????mxOcx.PathMakeClosed(); ? ????mxOcx.LineType?=?(""); ? ????mxOcx.DrawCADColor?=?65280; ? ????mxOcx.LineWidth?=?10; ? ????mxOcx.DrawPathToPolyline(); ? ? ????//《---------------------------------------》 ????//繪制一個有寬度的矩形框 ????//定義一個路徑的開始點 ????mxOcx.PathMoveTo(400,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(500,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(500,?400); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(400,?400); ? ????//把路徑設置成閉合 ????mxOcx.PathMakeClosed(); ? ????mxOcx.LineType?=?""; ? ????mxOcx.DrawCADColor?=?65280; ? ????mxOcx.LineWidth?=?10; ? ????mxOcx.DrawPathToPolyline(); ? ????//《---------------------------------------》 ????//繪制一個有寬度的,不閉合的矩形框 ????//定義一個路徑的開始點 ????mxOcx.PathMoveTo(600,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(700,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(700,?400); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(600,?400); ? ????//把路徑設置成閉合 ????mxOcx.LineType?=?""; ? ????mxOcx.DrawCADColor?=?65280; ? ????mxOcx.LineWidth?=?10; ? ????mxOcx.DrawPathToPolyline(); ? ? ????//《---------------------------------------》 ????//繪制一個有寬度的,三角形 ????//定義一個路徑的開始點 ????mxOcx.PathMoveTo(800,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(900,?300); ? ????//路徑的一下個點 ????mxOcx.PathLineTo(900,?400); ? ????mxOcx.PathMakeClosed(); ? ????//把路徑設置成閉合 ????mxOcx.LineType?=?""; ? ????mxOcx.DrawCADColor?=?65280; ? ????mxOcx.LineWidth?=?10; ? ????mxOcx.DrawPathToPolyline(); ? ? ????//《---------------------------------------》 ????//繪制一個箭頭 ????mxOcx.PathMoveToEx(1000,?300,?10,?10,?0); ? ????mxOcx.PathLineToEx(1000,?500,?30,?0,?0); ? ????mxOcx.PathLineTo(1000,?580); ? ????mxOcx.DrawPathToPolyline(); ? ? ????//《---------------------------------------》 ????//繪制一個虛線箭頭 ????mxOcx.PathMoveToEx(1200,?300,?10,?10,?0); ? ????mxOcx.PathLineToEx(1200,?500,?30,?0,?0); ? ????mxOcx.PathLineTo(1200,?580); ? ????mxOcx.DrawCADColor?=?65535; ? ????mxOcx.LineType?=?("MyLineType3"); ? ????mxOcx.DrawPathToPolyline(); ? ????//《---------------------------------------》 ????//繪制一個圓弧箭頭,-0.34是圓弧的凸度. ? ????//axMxDrawX1.PathMoveToEx?1400,?300,?10,?10,?-0.34); ????mxOcx.PathMoveToEx(1400,?300,?10,?10,?-0.34); ? ????mxOcx.PathLineToEx(1400,?500,?30,?0,?0.34); ? ????mxOcx.PathLineTo(1400,?600); ? ????mxOcx.DrawCADColor?=?16776960; ? ????mxOcx.LineType?=?"MyLineType3"; ? ????mxOcx.DrawPathToPolyline(); ? ? ????//《---------------------------------------》 ????//把所有的實體都放到當前顯示視區 ????mxOcx.ZoomAll(); ? ????//更新視區顯示 ????mxOcx.UpdateDisplay(); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。