private static CreateTransformMatrix1 ( IViewport viewport ) : System.Windows.Media.Matrix | ||
viewport | IViewport | |
Résultat | System.Windows.Media.Matrix |
public static System.Windows.Shapes.Shape RenderLineString(LineString lineString, IStyle style, IViewport viewport) { if (!(style is VectorStyle)) { throw new ArgumentException("Style is not of type VectorStyle"); } var vectorStyle = style as VectorStyle; System.Windows.Shapes.Path path = CreateLineStringPath(vectorStyle); path.Data = lineString.ToXaml(); path.RenderTransform = new System.Windows.Media.MatrixTransform { Matrix = GeometryRenderer.CreateTransformMatrix1(viewport) }; GeometryRenderer.CounterScaleLineWidth(path, viewport.Resolution); return(path); }
public static System.Windows.Shapes.Path RenderMultiPolygon(MultiPolygon geometry, IStyle style, IViewport viewport, SymbolCache symbolCache) { if (!(style is VectorStyle)) { throw new ArgumentException("Style is not of type VectorStyle"); } var vectorStyle = (VectorStyle)style; var path = PolygonRenderer.CreatePolygonPath(vectorStyle, viewport.Resolution, symbolCache); path.Data = geometry.ToXaml(); var matrixTransform = new System.Windows.Media.MatrixTransform { Matrix = GeometryRenderer.CreateTransformMatrix1(viewport) }; path.RenderTransform = matrixTransform; if (path.Fill != null) { path.Fill.Transform = matrixTransform.Inverse as System.Windows.Media.MatrixTransform; } return(path); }
public static System.Windows.Shapes.Shape RenderPolygon(Polygon polygon, IStyle style, IViewport viewport, SymbolCache symbolCache) { if (!(style is VectorStyle)) { throw new ArgumentException("Style is not of type VectorStyle"); } var vectorStyle = style as VectorStyle; System.Windows.Shapes.Path path = CreatePolygonPath(vectorStyle, viewport.Resolution, symbolCache); path.Data = polygon.ToXaml(); var matrixTransform = new System.Windows.Media.MatrixTransform { Matrix = GeometryRenderer.CreateTransformMatrix1(viewport) }; path.RenderTransform = matrixTransform; if (path.Fill != null) { path.Fill.Transform = matrixTransform.Inverse as System.Windows.Media.MatrixTransform; } path.UseLayoutRounding = true; return(path); }