多段线又被称为多义线,表示一起画的都是连在一起的一个复合对象,可以是直线也可以是圆弧并且它们还可以加不同的宽度。
主要用到函数说明:
_DMxDrawX::DrawLine
绘制一个直线。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX1 |
直线的开始点x坐标 |
DOUBLE dY1 |
直线的开始点y坐标 |
DOUBLE dX2 |
直线的结束点x坐标 |
DOUBLE dY2 |
直线的结束点y坐标 |
_DMxDrawX::PathLineTo
把路径下一个点移到指定位置。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX |
点的X坐标 |
DOUBLE dY |
点的Y坐标 |
_DMxDrawX::DrawPathToPolyline
把路径变成一个Polyline。
js中实现代码说明:
function DrawPolyline() { //与用户交互到在图上提取一个点 var point1 = mxOcx.GetPoint(false,0,0,"\n 点取开始点:"); if(point1 == null) { return; } //把路径的开始位置移动指定的点 //参数一为点的X坐标 ,参数二为点的Y坐标 mxOcx.PathMoveTo(point1.x,point1.y); //与用户交互到在图上提取一个点 var point2 = mxOcx.GetPoint(true,point1.x,point1.y,"\n 点取下一个:"); if(point2 == null) { return; } //建一个数组 var tmpobj = new Array(); //把路径下一个点移到指定位置 //参数一为点的X坐标 ,参数二为点的Y坐标 mxOcx.PathLineTo(point2.x,point2.y); var iCount = 0; //绘制一个直线 //参数一直线的开始点x坐标,参数二直线的开始点y坐标,参数三直线的结束点x坐标,参数四直线的结束点y坐标 var id = mxOcx.DrawLine(point1.x,point1.y,point2.x,point2.y); tmpobj[iCount] = id; iCount = iCount + 1; point1 = point2; while(true) { var point2 = mxOcx.GetPoint(true,point1.x,point1.y,"\n 点取下一个:"); if(point2 == null) { break; } mxOcx.PathLineTo(point2.x,point2.y); var id = mxOcx.DrawLine(point1.x,point1.y,point2.x,point2.y); tmpobj[iCount] = id; iCount = iCount + 1; point1 = point2; } var i = 0; for(;i < iCount;i++) { //由id删除一个对象 mxOcx.Erase(tmpobj[i] ); } //把路径变成一个Polyline mxOcx.DrawPathToPolyline(); }
原文:https://www.cnblogs.com/yzy0224/p/11076112.html