private static void AddPoint(StreamGeometryContext context, SqlGeometry point, Func <Point, Point> transform) { var center = transform(point.AsWpfPoint()); context.DrawGeometry(new EllipseGeometry(new Rect(center.X - pointSize / 2.0, center.Y - pointSize / 2.0, pointSize, pointSize))); //context.DrawGeometry(new EllipseGeometry(transform(new Point(point.STX.Value, point.STY.Value)), pointSize, pointSize)); }
private static void AddPoint(drawing.Graphics graphics, SqlGeometry point, Func <Point, Point> transform, drawing.Pen pen, drawing.Brush brush, SimplePointSymbol pointSymbol) { var parsedPoint = transform(point.AsWpfPoint()).AsPoint(); if (pointSymbol?.GeometryPointSymbol != null) { GeometryHelper.Transform(graphics, pointSymbol.GeometryPointSymbol, parsedPoint, pen, brush); } else if (pointSymbol?.ImagePointSymbolGdiPlus != null) { //96.09.21 //graphics.DrawImage(pointSymbol.ImagePointSymbol, new drawing.RectangleF((float)parsedPoint.X - _symbolOffset, (float)parsedPoint.Y - _symbolOffset, _symbolSize, _symbolSize)); graphics.DrawImage(pointSymbol.ImagePointSymbolGdiPlus, new drawing.RectangleF((float)(parsedPoint.X - pointSymbol.SymbolWidth / 2.0), (float)(parsedPoint.Y - pointSymbol.SymbolHeight), (float)pointSymbol.SymbolWidth, (float)pointSymbol.SymbolHeight)); } else { if (pen != null) { graphics.DrawEllipse(pen, (float)(parsedPoint.X - pointSymbol.SymbolWidth / 2.0), (float)(parsedPoint.Y - pointSymbol.SymbolHeight / 2.0), (float)pointSymbol.SymbolWidth, (float)pointSymbol.SymbolHeight); } if (brush != null) { graphics.FillEllipse(brush, (float)(parsedPoint.X - pointSymbol.SymbolWidth / 2.0), (float)(parsedPoint.Y - pointSymbol.SymbolHeight / 2.0), (float)pointSymbol.SymbolWidth, (float)pointSymbol.SymbolHeight); } } }
private void AddPoint(DrawingContext context, SqlGeometry point, Func <Point, Point> transform, Brush brush, Pen pen, SimplePointSymbol pointSymbol) { if (pointSymbol?.GeometryPointSymbol != null) { var temp = transform(point.AsWpfPoint()); var geometry = SqlSpatialToStreamGeometry.Transform( pointSymbol.GeometryPointSymbol, new System.Windows.Point(temp.X - pointSymbolMinX - pointSymbolWidth / 2.0, temp.Y - pointSymbolMinY + pointSymbolHeight / 2.0)); context.DrawGeometry(brush, pen, geometry); } else if (pointSymbol?.ImagePointSymbol != null) { Point location = transform(point.AsWpfPoint()); context.DrawImage(pointSymbol.ImagePointSymbol, new Rect(location.X, location.Y, pointSymbol.SymbolWidth, pointSymbol.SymbolHeight)); } else { context.DrawEllipse(brush, pen, transform(point.AsWpfPoint()), pointSymbol.SymbolWidth, pointSymbol.SymbolHeight); } }
private void AddPoint(WriteableBitmap context, SqlGeometry point, Func <Point, Point> transform, int border, int fill, ImageSource imageSymbol, sb.Primitives.Geometry <sb.Primitives.Point> geometrySymbol) { var center = transform(point.AsWpfPoint()).AsPoint(); if (geometrySymbol != null) { GeometryHelper.Transform(context, geometrySymbol, center, border, fill); } else if (imageSymbol != null) { throw new NotImplementedException(); } else { context.DrawEllipseCentered((int)center.X, (int)center.Y, pointSize, pointSize, border); } }
private static void AddPoint(StreamGeometryContext context, SqlGeometry point, Geometry pointSymbol, Func <Point, Point> transform) { Point location = transform(point.AsWpfPoint()); var geometry = pointSymbol.GetFlattenedPathGeometry(); foreach (var figure in geometry.Figures) { Point firstPoint = ((PolyLineSegment)figure.Segments[0]).Points[0]; context.BeginFigure(new Point(firstPoint.X + location.X, firstPoint.Y + location.Y), figure.IsFilled, figure.IsClosed); foreach (var segment in figure.Segments) { context.PolyLineTo(((PolyLineSegment)segment).Points.Select(i => new Point(i.X + location.X, i.Y + location.Y)).ToList(), segment.IsStroked, segment.IsSmoothJoin); } } }