public DrawingGroup Read(Uri fileUri)
            {
                if (fileUri == null)
                {
                    return(new DrawingGroup());
                }

                var svgRender = new SVGRender(new FileSystemLoader());

                svgRender.OverrideColor = _overrideColor;

                return(svgRender.LoadDrawing(fileUri));
            }
            public DrawingGroup Read(Stream stream)
            {
                if (stream == null)
                {
                    return(new DrawingGroup());
                }

                var svgRender = new SVGRender(new FileSystemLoader());

                svgRender.OverrideColor = _overrideColor;

                return(svgRender.LoadDrawing(stream));
            }
示例#3
0
            public DrawingGroup Read(string filePath, DirectoryInfo workingDir)
            {
                if (string.IsNullOrWhiteSpace(filePath))
                {
                    return(new DrawingGroup());
                }

                var svgRender = new SVGRender(new FileSystemLoader());

                svgRender.OverrideColor = _overrideColor;
                svgRender.UseAnimations = true;

                var drawingGroup = svgRender.LoadDrawing(filePath);

                string xamlFilePath = IoPath.Combine(workingDir.FullName,
                                                     IoPath.GetFileNameWithoutExtension(filePath) + ".xaml");

                //svgDrawing.RenderDiagrams(drawing);
                if (drawingGroup != null)
                {
                    if (_xamlPage != null)
                    {
                        //using (MemoryStream stream = new MemoryStream())
                        using (FileStream stream = File.Create(xamlFilePath))
                        {
                            XmlWriterSettings writerSettings = new XmlWriterSettings();
                            writerSettings.Indent             = true;
                            writerSettings.OmitXmlDeclaration = true;
                            writerSettings.Encoding           = Encoding.UTF8;

                            using (XmlWriter writer = XmlWriter.Create(stream, writerSettings))
                            {
                                XamlWriter.Save(drawingGroup, writer);
                            }

                            if (stream.Length > 0)
                            {
                                stream.Position = 0;
                            }

                            _xamlPage.LoadDocument(stream);
                        }
                    }
                }

                return(drawingGroup);
            }
示例#4
0
        private void CreateImages(int count)
        {
            for (int i = 0; i < count; i++)
            {
                var svgRender = new SVGRender();
                var image     = svgRender.LoadDrawing("ImagePerformanceDemo/Resources/timer.svg");

                Container.Children.Add(new SVGImage
                {
                    ImageSource         = image,
                    SizeType            = SVGImage.eSizeType.SizeToContent,
                    Width               = 100,
                    Height              = 100,
                    HorizontalAlignment = HorizontalAlignment.Center,
                    VerticalAlignment   = VerticalAlignment.Center
                });
            }
        }