/// <summary> /// 在当前绘制的层上,绘制一个多边形 /// </summary> /// <param name="x">多边形x坐标数组</param> /// <param name="y">多边形y坐标数组</param> /// <param name="Color">绘制多边形的颜色</param> /// <param name="FillPolygon">是否填充多边形.</param> /// <remarks>点要以顺时针存放,并且如果要填充颜色的话要求没有交叉,起点要与终点相同</remarks> public void DrawPolygon(double[] x, double[] y, System.Drawing.Color color, bool fillPolygon) { object xPoints = x; object yPoints = y; Program.frmMain.MapMain.DrawPolygon(ref xPoints, ref yPoints, y.Length, ColorScheme.ColorToUInt(color), fillPolygon); }
/// <summary> ///在当前绘制的层上绘制一条线 /// </summary> /// <param name="X1">起点x坐标</param> /// <param name="Y1">起点y坐标</param> /// <param name="X2">终点x坐标</param> /// <param name="Y2">终点y坐标.</param> /// <param name="PixelWidth">线宽,单位:像素</param> /// <param name="Color">线的颜色</param> public void DrawLine(double X1, double Y1, double X2, double Y2, int pixelWidth, System.Drawing.Color color) { Program.frmMain.MapMain.DrawLine(X1, Y1, X2, Y2, pixelWidth, ColorScheme.ColorToUInt(color)); }
/// <summary> /// 在当前绘制的层上,绘制一个点 /// </summary> /// <param name="x">点的x坐标</param> /// <param name="y">点的y坐标</param> /// <param name="PixelSize">点的大小,单位:像素.</param> /// <param name="Color">点的颜色</param> public void DrawPoint(double x, double y, int pixelSize, System.Drawing.Color color) { Program.frmMain.MapMain.DrawPoint(x, y, pixelSize, ColorScheme.ColorToUInt(color)); }
/// <summary> /// 在新绘制的层上,绘制一个指定线宽的原 /// Draws a circle on the current drawing layer and specify the width of the line /// </summary> public void DrawWideCircleEx(int drawHandle, double x, double y, double radius, System.Drawing.Color color, bool FillPolygon, short pixelWidth) { Program.frmMain.MapMain.DrawWideCircleEx(drawHandle, x, y, radius, ColorScheme.ColorToUInt(color), FillPolygon, pixelWidth); }
/// <summary> /// 在当前绘制的层上绘制一个圆 /// </summary> /// <param name="x">圆点x点坐标</param> /// <param name="y">圆点y坐标</param> /// <param name="PixelRadius">半径,单位:像素</param> /// <param name="Color">园的颜色</param> /// <param name="FillCircle">是否填充</param> public void DrawCircle(double x, double y, double pixelRadius, System.Drawing.Color color, bool fillCircle) { Program.frmMain.MapMain.DrawCircle(x, y, pixelRadius, ColorScheme.ColorToUInt(color), fillCircle); }
/// <summary> /// 在新绘制的层上,绘制一个指定线宽的多边形 /// </summary> public void DrawWidePolygonEx(int drawHandle, double[] x, double[] y, System.Drawing.Color color, bool fillPolygon, short pixelWidth) { object xPoints = x; object yPoints = y; Program.frmMain.MapMain.DrawWidePolygonEx(drawHandle, ref xPoints, ref yPoints, y.Length, ColorScheme.ColorToUInt(color), fillPolygon, pixelWidth); }
/// <summary> /// 在新绘制的层上,绘制条线 /// </summary> public void DrawLineEx(int drawHandle, double x1, double y1, double x2, double y2, int pixelWidth, System.Drawing.Color color) { Program.frmMain.MapMain.DrawLineEx(drawHandle, x1, y1, x2, y2, pixelWidth, ColorScheme.ColorToUInt(color)); }
/// <summary> /// 在当前新绘制的层上绘制一个圆 /// </summary> /// <param name="DrawHandle">Handle of the drawing layer</param> /// <param name="x">圆点x坐标</param> /// <param name="y">圆点y坐标</param> /// <param name="pixelRadius">半径,单位:像素</param> /// <param name="Color">颜色</param> /// <param name="FillCircle">是否填充/param> public void DrawCircleEx(int drawHandle, double x, double y, double pixelRadius, System.Drawing.Color color, bool fill) { Program.frmMain.MapMain.DrawCircleEx(drawHandle, x, y, pixelRadius, ColorScheme.ColorToUInt(color), fill); }
/// <summary> /// 给当前新绘制的层添加一个标签 /// </summary> /// <param name="DrawHandle">Handle of the drawing layer</param> /// <param name="Text">标签文本</param> /// <param name="Color">文本颜色t</param> /// <param name="x">在地图上的x坐标</param> /// <param name="y">在地图上的y坐标</param> /// <param name="hJustification">文本对齐方式</param> /// <param name="Rotation">标签的旋转角度</param> public void AddDrawingLabelEx(int drawHandle, string text, System.Drawing.Color color, double x, double y, MapWinGIS.tkHJustification hJustification, double rotation) { Program.frmMain.MapMain.AddDrawingLabelEx(drawHandle, text, ColorScheme.ColorToUInt(color), x, y, hJustification, rotation); }
/// <summary> /// 显示顶点 /// 顶点能够被隐藏 /// </summary> /// <param name="color">顶点颜色</param> /// <param name="vertexSize">顶点大小(像素)</param> public void ShowVertices(System.Drawing.Color color, int vertexSize) { if (Program.frmMain.m_Layers[m_LayerHandle].LayerType != Interfaces.eLayerType.PointShapefile) { Program.frmMain.MapMain.LockWindow(MapWinGIS.tkLockMode.lmLock); try { Program.frmMain.MapMain.set_ShapePointSize(m_LayerHandle, m_ShapeIndex, vertexSize); Program.frmMain.MapMain.set_ShapePointColor(m_LayerHandle, m_ShapeIndex, ColorScheme.ColorToUInt(color)); Program.frmMain.MapMain.set_ShapeDrawPoint(m_LayerHandle, m_ShapeIndex, true); } finally { Program.frmMain.MapMain.LockWindow(MapWinGIS.tkLockMode.lmUnlock); } } }