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);
                }
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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);
                }
            }
        }