public override void draw(Graphics graphics, GISView view) { Point screenpoint = view.ToScreenPoint(centroid); graphics.FillEllipse(new SolidBrush(Color.Red), new Rectangle(screenpoint.X - 3, screenpoint.Y - 3, 6, 6)); }
public static Point[] GetScreenPoints(List <GISVertex> _vertexes, GISView view) { Point[] points = new Point[_vertexes.Count]; for (int i = 0; i < points.Length; i++) { points[i] = view.ToScreenPoint(_vertexes[i]); } return(points); }
public void draw(Graphics graphics, GISView view, GISVertex location, int index) { Point screenpoint = view.ToScreenPoint(location);//转换坐标到屏幕点 graphics.DrawString(values[index].ToString(), new Font("宋体", 20), new SolidBrush(Color.Green), new PointF(screenpoint.X, screenpoint.Y)); }
//根据鼠标点和距离阈值构造点选范围extent public GISExtent BuildExtent(GISVertex vertex, GISView view) { Point p0 = view.ToScreenPoint(vertex); Point p1 = new Point(p0.X + (int)GISConst.MinScreenDistance, p0.Y + (int)GISConst.MinScreenDistance); Point p2 = new Point(p0.X - (int)GISConst.MinScreenDistance, p0.Y - (int)GISConst.MinScreenDistance); GISVertex gmp1 = view.ToMapVertex(p1); GISVertex gmp2 = view.ToMapVertex(p2); return(new GISExtent(gmp1.x, gmp2.x, gmp1.y, gmp2.y)); }