コード例 #1
0
ファイル: Graphic.cs プロジェクト: pdbeckwith/NGraphics
        public static Graphic LoadSvg(TextReader reader)
        {
            var valuesParser = new ValuesParser();
            var svgr         = new SvgReader(reader, new StylesParser(valuesParser), valuesParser);

            return(svgr.Graphic);
        }
コード例 #2
0
 public static Graphic Read(string path)
 {
     using (var s = OpenResource(path)) {
         var r = new SvgReader(new StreamReader(s));
         return(r.Graphic);
     }
 }
コード例 #3
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void EmptyElementHasZeroPolygons()
        {
            var reader = new SvgReader(new System.Xml.Linq.XElement("test"));
            IEnumerable <Polygon> lp = reader.ExtractPolygons();

            Assert.AreEqual(0, lp.Count());
        }
コード例 #4
0
        public async Task <IImage> GetSvgImage(string path, float width, float height, CancellationToken token)
        {
            return(await Task <IImage> .Factory.StartNew(() =>
            {
                var assembly = typeof(ToolbarItemEx).Assembly;
                var fullPath = $"ToolbarBadgeSample.Resources.Images.{path}";
                using (var resource = assembly.GetManifestResourceStream(fullPath))
                {
                    if (resource == null)
                    {
                        throw new Exception(
                            $"Error retrieving {path} make sure Build Action is Embedded Resource. Full path {fullPath}");
                    }
                    var svg = new SvgReader(new StreamReader(resource));
                    var outputSize = svg.Graphic.Size;
                    if (width > 0 && height > 0)
                    {
                        outputSize = new Size(width, height);
                        var scale = svg.Graphic.Size.ScaleThatFits(outputSize);
                        svg.Graphic.ViewBox = new Rect(Point.Zero, svg.Graphic.Size / scale);
                    }

                    var imageCanvas = _platform.CreateImageCanvas(outputSize, _scale);
                    svg.Graphic.Draw(imageCanvas);
                    return imageCanvas.GetImage();
                }
            }, token));
        }
コード例 #5
0
        Graphic ReadString(string svg, Brush defaultBrush = null)
        {
            var r = new SvgReader(svg, defaultBrush: defaultBrush);

            Assert.IsTrue(r.Graphic.Children.Count >= 0);
            return(r.Graphic);
        }
コード例 #6
0
        public static async Task <Bitmap> GetBitmapAsync(SvgImage svgImage, int width, int height)
        {
            Bitmap result = null;

            Stream svgStream = await SvgService.GetSvgStreamAsync(svgImage).ConfigureAwait(false);

            await Task.Run(() =>
            {
                var svgReader = new SvgReader(new StreamReader(svgStream));

                var graphics = svgReader.Graphic;

                var scale = 1.0;

                if (height >= width)
                {
                    scale = height / graphics.Size.Height;
                }
                else
                {
                    scale = width / graphics.Size.Width;
                }

                var canvas = new AndroidPlatform().CreateImageCanvas(graphics.Size, scale);
                graphics.Draw(canvas);
                var image = (BitmapImage)canvas.GetImage();
                result    = image.Bitmap;
            });

            return(result);
        }
コード例 #7
0
ファイル: SvgReaderTests.cs プロジェクト: shekky/NGraphics
        Graphic ReadString(string svg)
        {
            var r = new SvgReader(new StringReader(svg));

            Assert.IsTrue(r.Graphic.Children.Count >= 0);
            return(r.Graphic);
        }
コード例 #8
0
ファイル: SvgShapeView.cs プロジェクト: netonjm/MotionSharp
        public void Load(string data)
        {
            var reader = new SvgReader(data);

            g = reader.Graphic;
            RefreshDraw();
        }
コード例 #9
0
ファイル: SvgVoText.cs プロジェクト: cursedtoxi/WebControls
        public new void ReadContent(XmlElement xmlElement, SvgReader svgReader)
        {
            base.ReadContent(xmlElement, svgReader);

            _text = null;
            foreach (var node in xmlElement.ChildNodes)
            {
                var childElement = node as XmlElement;
                if (childElement != null)
                {
                    var svgNode = svgReader.CreateSvgNodeFromXml(childElement);
                    svgReader.Read(svgNode, childElement);
                    if (svgNode is SvgText)
                    {
                        _text = svgNode as SvgText;
                    }
                }

                if (_text != null)
                {
                    break;
                }
            }

            if (_text != null)
            {
                ReadText(_text);
            }
            else
            {
                throw new SvgParseException(Resources.Exceptions.CanNotParseSvgVoText);
            }
        }
コード例 #10
0
ファイル: ImageController.cs プロジェクト: aquaphoenix1/WPF
 public static DrawingImage Open(string fileName)
 {
     using (FileStream stream = new FileStream(imagesPath + fileName, FileMode.Open, FileAccess.Read))
     {
         return(SvgReader.Load(stream));
     }
 }
コード例 #11
0
        public void Deserialize(Stream stream, ICanvas canvas)
        {
            try
            {
                using (var packageStorage = BaseArchive.CreateArchive(stream))
                {
                    var xmlDoc = new XmlDocument();

                    using (var outStream = packageStorage.GetReadStream(_canvasFileName))
                        xmlDoc.Load(outStream);

                    var svgReader = new SvgReader(new TypeResolver(), new VoAttributeReader());
                    var svgDoc    = svgReader.CreateSvgNodeFromXml(xmlDoc.DocumentElement) as SvgDocument;
                    svgReader.Read(svgDoc, xmlDoc.DocumentElement);

                    var svgConverter = new SvgConverter(packageStorage);
                    svgConverter.FromSvg(canvas, svgDoc);

                    using (var cmykProfileStream = packageStorage.GetReadStream(Path.Combine(_iccFolder, _cmykProfileFileName)))
                        canvas.CmykColorProfile = new ColorProfile(cmykProfileStream);

                    using (var grayscaleProfileStream = packageStorage.GetReadStream(Path.Combine(_iccFolder, _grayscaleProfileFileName)))
                        canvas.GrayscaleColorProfile = new ColorProfile(grayscaleProfileStream);

                    using (var rgbProfileStream = packageStorage.GetReadStream(Path.Combine(_iccFolder, _rgbProfileFileName)))
                        canvas.RgbColorProfile = new ColorProfile(rgbProfileStream);
                }
            }
            catch (Exception ex)
            {
                Configuration.Logger.Error(Exceptions.CanNotDeserializeCanvas, ex);

                throw new SerializationException(Exceptions.CanNotDeserializeCanvas, ex);
            }
        }
コード例 #12
0
        public void ReadContent(XmlElement xmlElement, SvgReader svgReader)
        {
            _background = null;
            _border     = null;
            foreach (var node in xmlElement.ChildNodes)
            {
                var childElement = node as XmlElement;
                if (childElement != null && childElement.Name != "clipPath")
                {
                    var svgNode = svgReader.CreateSvgNodeFromXml(childElement);
                    svgReader.Read(svgNode, childElement);
                    if (svgNode is SvgVoContent)
                    {
                        Content = svgNode as SvgVoContent;
                    }
                    else if (svgNode is SvgPath)
                    {
                        var path = svgNode as SvgPath;
                        if (path.ID.Contains("_background"))
                        {
                            _background = path;
                        }
                        else if (path.ID.Contains("_border"))
                        {
                            _border = path;
                        }
                    }
                    else if (svgNode is SvgRect)
                    {
                        var rect = svgNode as SvgRect;
                        if (rect.ID.Contains("_background"))
                        {
                            _background = RectToPath(rect);
                        }
                        else if (rect.ID.Contains("_border"))
                        {
                            _border = RectToPath(rect);
                        }
                    }
                }

                if (_background != null && _border != null && Content != null)
                {
                    break;
                }
            }

            if (_background != null && _border != null)
            {
                Path        = _border.Path;
                Fill        = _background.Fill;
                Stroke      = _border.Stroke;
                StrokeWidth = _border.StrokeWidth;
            }
            else
            {
                throw new SvgParseException(Resources.Exceptions.CanNotParseSvgVoPlaceholder);
            }
        }
コード例 #13
0
ファイル: MainWindow.xaml.cs プロジェクト: HappyGis520/ETOOL
        private DrawingImage SvgToimge(string name)
        {
            DrawingImage svg_image;
            string       file_name = AppDomain.CurrentDomain.BaseDirectory + @"\Resources\" + name.ToString();

            using (FileStream file_stream = new FileStream(file_name, FileMode.Open, FileAccess.Read))
                svg_image = SvgReader.Load(file_stream, new SvgReaderOptions(false));
            return(svg_image);
        }
コード例 #14
0
        /// <summary>
        /// 将SVG矢量图转换为可用资源
        /// 用法<Image Source="{Binding ConverterParameter=pc_Button_search.svg, Converter={StaticResource SvgToXamlConverter}, Mode=OneWay}" />
        /// </summary>
        /// <param name="value"></param>
        /// <param name="targetType"></param>
        /// <param name="parameter"></param>
        /// <param name="culture"></param>
        /// <returns></returns>
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            DrawingImage svg_image;
            string       file_name = AppDomain.CurrentDomain.BaseDirectory + @"\Resources\" + parameter.ToString();

            using (FileStream file_stream = new FileStream(file_name, FileMode.Open, FileAccess.Read))
                svg_image = SvgReader.Load(file_stream, new SvgReaderOptions(false));
            return(svg_image);
        }
コード例 #15
0
        public async void Render( )
        {
            //added check because both *may* not be set at the same time, this negates the error throwing unfortuantely. --bwc
            if (String.IsNullOrEmpty(Element.SvgPath) || (Element.SvgAssembly == null))
            {
                return;
            }

            if (_formsControl != null)
            {
                await Task.Run(async( ) =>
                {
                    Stream svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath);

                    if (svgStream == null)
                    {
                        throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource", _formsControl.SvgPath));
                    }

                    SvgReader r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser( )), new ValuesParser( ));

                    this.ReplaceColors(r.Graphic, Element.ReplacementColors);

                    Graphic graphics = r.Graphic;
                    int width        = PixelToDP((int)_formsControl.WidthRequest <= 0 ? 100 : (int)_formsControl.WidthRequest);
                    int height       = PixelToDP((int)_formsControl.HeightRequest <= 0 ? 100 : (int)_formsControl.HeightRequest);
                    double scale     = 1.0;

                    if (height >= width)
                    {
                        scale = height / graphics.Size.Height;
                    }
                    else
                    {
                        scale = width / graphics.Size.Width;
                    }

                    IImageCanvas canvas = new AndroidPlatform( ).CreateImageCanvas(graphics.Size, scale);

                    graphics.Draw(canvas);
                    BitmapImage image = (BitmapImage)canvas.GetImage( );


                    return(image);
                }).ContinueWith(taskResult =>
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        var imageView = new ImageView(Context);
                        imageView.SetScaleType(ImageView.ScaleType.FitXy);
                        imageView.SetImageBitmap(taskResult.Result.Bitmap);
                        SetNativeControl(imageView);
                    });
                });
            }
        }
コード例 #16
0
ファイル: UIFactory.cs プロジェクト: SehdiNassim/WeatherLab
        public static DrawingImage SvgIcon(String path)
        {
            string filePath = System.IO.Path.GetFullPath(path);

            using (FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                DrawingImage image = SvgReader.Load(stream);
                return(image);
            }
        }
コード例 #17
0
 Graphic Read(string path)
 {
     using (var s = OpenResource(path)) {
         var r = new SvgReader(new StreamReader(s));
         Assert.IsTrue(r.Graphic.Children.Count >= 0);
         Assert.IsTrue(r.Graphic.Size.Width > 1);
         Assert.IsTrue(r.Graphic.Size.Height > 1);
         return(r.Graphic);
     }
 }
コード例 #18
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void XmlWithOneElementHasOnePolygon()
        {
            var reader = new SvgReader(System.Xml.Linq.XElement.Parse(
                                           "  <svg><polygon\n     points=\"1088.95,2511.82 1169.85,2570.6 1138.95,2475.49 1058.05,2416.71 \"  transform=\"matrix(0.05880683,0,0,0.0624649,-51.602926,-159.78388)\" /></svg>"
                                           ));

            IEnumerable <Polygon> lp = reader.ExtractPolygons();

            Assert.AreEqual(1, lp.Count());
        }
コード例 #19
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void XmlWithOneElementHasCorrectPolygon()
        {
            var reader = new SvgReader(System.Xml.Linq.XElement.Parse(
                                           "  <svg><polygon\n     points=\"1088.95,2511.82 1169.85,2570.6 1138.95,2475.49 1058.05,2416.71 \" /></svg>"
                                           ));

            IEnumerable <Polygon> lp = reader.ExtractPolygons();

            Assert.IsTrue(lp.Where(poly => poly.Vertices.Where(pt => Math.Abs(pt.X - 1058.05) < 1e-8 && Math.Abs(pt.Y - 2416.71) < 1e-8).Any()).Any());
        }
コード例 #20
0
ファイル: SvgReaderTests.cs プロジェクト: sami1971/NGraphics
		Graphic Read (string path)
		{
			using (var s = OpenResource (path)) {
				var r = new SvgReader (new StreamReader (s));
				Assert.IsTrue (r.Graphic.Children.Count >= 0);
				Assert.IsTrue (r.Graphic.Size.Width > 1);
				Assert.IsTrue (r.Graphic.Size.Height > 1);
				return r.Graphic;
			}
		}
コード例 #21
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (parameter == null)
            {
                return(null);
            }
            var directory = AppDomain.CurrentDomain.BaseDirectory;
            var path      = directory + parameter;

            using var stream = new FileStream(path, FileMode.Open, FileAccess.Read);
            return(SvgReader.Load(stream));
        }
コード例 #22
0
        protected override async void OnElementChanged(ElementChangedEventArgs <SvgImage> e)
        {
            base.OnElementChanged(e);

            if (_formsControl != null)
            {
                await Task.Run(async() =>
                {
                    var svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath);

                    if (svgStream == null)
                    {
                        throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource",
                                                          _formsControl.SvgPath));
                    }

                    var r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser()), new ValuesParser());

                    var graphics = r.Graphic;

                    var width  = PixelToDP((int)_formsControl.WidthRequest <= 0 ? 100 : (int)_formsControl.WidthRequest);
                    var height = PixelToDP((int)_formsControl.HeightRequest <= 0 ? 100 : (int)_formsControl.HeightRequest);

                    var scale = 1.0;

                    if (height >= width)
                    {
                        scale = height / graphics.Size.Height;
                    }
                    else
                    {
                        scale = width / graphics.Size.Width;
                    }

                    var canvas = new AndroidPlatform().CreateImageCanvas(graphics.Size, scale);
                    graphics.Draw(canvas);
                    var image = (BitmapImage)canvas.GetImage();

                    return(image);
                }).ContinueWith(taskResult =>
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        var imageView = new ImageView(Context);

                        imageView.SetScaleType(ImageView.ScaleType.CenterInside);
                        imageView.SetImageBitmap(taskResult.Result.Bitmap);

                        SetNativeControl(imageView);
                    });
                });
            }
        }
コード例 #23
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void XmlWithTwoElementHasTwoPolygons()
        {
            var reader = new SvgReader(System.Xml.Linq.XElement.Parse(
                                           "<svg>"
                                           + "<polygon\n     points=\"1,2 3,4 5,6 \"  />"
                                           + "<polygon\n     points=\"1088.95,2511.82 1169.85,2570.6 1138.95,2475.49 1058.05,2416.71 \"/></svg>"
                                           ));

            IEnumerable <Polygon> lp = reader.ExtractPolygons();

            Assert.AreEqual(2, lp.Count());
        }
コード例 #24
0
 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     // here you can return DrawingImage based on value that represents name field of your structure
     // just for example the piece of your code:
     if (value is string && !String.IsNullOrEmpty(value as string))
     {
         return(SvgReader.Load(new MemoryStream(new System.Net.WebClient().DownloadData(value as string))));
     }
     else
     {
         // if value is null or not of string type
         return(yourDefaultImage);
     }
 }
コード例 #25
0
 Graphic Read(string path, Brush defaultBrush = null, Font defaultFont = null)
 {
     using (var s = OpenResource(path)) {
         var r = new SvgReader(new StreamReader(s), defaultBrush: defaultBrush, defaultFont: defaultFont);
         if (r.Errors.Count > 0)
         {
             throw new Exception("Error while reading", r.Errors[0]);
         }
         Assert.IsTrue(r.Graphic.Children.Count >= 0);
         Assert.IsTrue(r.Graphic.Size.Width > 1);
         Assert.IsTrue(r.Graphic.Size.Height > 1);
         return(r.Graphic);
     }
 }
コード例 #26
0
        Graphic ReadString(string svg, Brush defaultBrush = null, Font defaultFont = null)
        {
            var r = new SvgReader(svg, defaultBrush: defaultBrush, defaultFont: defaultFont);

            Assert.IsTrue(r.Graphic.Children.Count >= 0);
            if (r.Errors.Count > 0)
            {
                throw new Exception("Error while reading", r.Errors[0]);
            }
            Assert.IsTrue(r.Graphic.Children.Count >= 0);
            Assert.IsTrue(r.Graphic.Size.Width > 1);
            Assert.IsTrue(r.Graphic.Size.Height > 1);
            return(r.Graphic);
        }
コード例 #27
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void OneStrokeIsFound()
        {
            var source = System.Xml.Linq.XElement.Parse(
                "<svg>"
                + "<polygon\n     points=\"1,2 3,4 5,6 \" style=\"fill:#bbbbcc;stroke:#00aaff;stroke-width:1\"/>"
                + "</svg>"
                );

            var reader = new SvgReader(source);
            List <SvgObjectProperty> strokes = reader.ReadObjectProperties().Where(s => s.Type == SvgPropertyType.Stroke).ToList();

            Assert.AreEqual(1, strokes.Count);
            Assert.AreEqual("stroke:#00aaff", strokes[0].Color);
        }
コード例 #28
0
ファイル: MainForm.cs プロジェクト: panalgin/Smdpp
        private void EventSink_ImportSvgRequested()
        {
            this.BeginInvoke((MethodInvoker) delegate()
            {
                var dialog = SetupImportSvgDialog;

                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    var filePath = dialog.FileName;

                    SvgReader reader = new SvgReader(filePath);
                }
            });
        }
コード例 #29
0
ファイル: Assets.cs プロジェクト: amur-tiger/yu-gi-oh
        public static ImageSource LoadSvg(string filename)
        {
            var info = Load(filename);

            if (info == null)
            {
                return(null);
            }

            using (var stream = info.Stream)
            {
                return(SvgReader.Load(stream));
            }
        }
コード例 #30
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void DefaultFillForUndefinedColor()
        {
            var source = System.Xml.Linq.XElement.Parse(
                "<svg>"
                + "<polygon\n     points=\"1,2 3,4 5,6 \" style=\"fill:#bcdaa0;stroke:#000000;stroke-width:1\"/>"
                + "</svg>"
                );

            var reader = new SvgReader(source);

            IEnumerable <Polygon> lp = reader.ExtractPolygons();

            Assert.AreEqual("fill:#bcdaa0", lp.First().Color);
        }
コード例 #31
0
ファイル: SvgReaderTests.cs プロジェクト: vcsjj/SvgToEmb
        public void XmlWithTwoNestedElementsHasTwoPolygons()
        {
            var reader = new SvgReader(System.Xml.Linq.XElement.Parse(
                                           "<svg>"
                                           + "<polygon\n     points=\"1,2 3,4 5,6 \"/>"
                                           + "<group>"
                                           + "<polygon\n     points=\"3,4 5,6 7,8\"/>"
                                           + "</group>"
                                           + "</svg>"
                                           ));

            IEnumerable <Polygon> lp = reader.ExtractPolygons();

            Assert.AreEqual(2, lp.Count());
        }
コード例 #32
0
      protected override void OnElementChanged(ElementChangedEventArgs<Image> e)
      {
        base.OnElementChanged(e);

        if (_formsControl != null)
        {
          var svgStream = _formsControl.SvgAssembly.GetManifestResourceStream(_formsControl.SvgPath);

          if (svgStream == null)
          {
            throw new Exception(string.Format("Error retrieving {0} make sure Build Action is Embedded Resource",
              _formsControl.SvgPath));
          }

          var r = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser()), new ValuesParser());

          var graphics = r.Graphic;

          var width = _formsControl.WidthRequest <= 0 ? 100 : _formsControl.WidthRequest;
          var height = _formsControl.HeightRequest <= 0 ? 100 : _formsControl.HeightRequest;

          var scale = 1.0;

          if (height >= width)
          {
            scale = height/graphics.Size.Height;
          }
          else
          {
            scale = width/graphics.Size.Width;
          }

          var scaleFactor = UIScreen.MainScreen.Scale;

          var canvas = new ApplePlatform().CreateImageCanvas(graphics.Size, scale*scaleFactor);
          graphics.Draw(canvas);
          var image = canvas.GetImage();

          var uiImage = image.GetUIImage();
          Control.Image = uiImage;
        }
      }
コード例 #33
0
		public static async Task<Bitmap> GetBitmapAsync (SvgImage svgImage, int width, int height)
		{
			Bitmap result = null;

			Stream svgStream = await SvgService.GetSvgStreamAsync (svgImage).ConfigureAwait (false);

      await Task.Run(() =>
      {
        var svgReader = new SvgReader(new StreamReader(svgStream), new StylesParser(new ValuesParser()), new ValuesParser());

        var graphics = svgReader.Graphic;

        var newWidth = svgImage.WidthRequest == 0 ? 100 : svgImage.WidthRequest;
        var newHeight = svgImage.HeightRequest == 0 ? 100 : svgImage.HeightRequest;

        var scale = 1.0;

        if (height >= width)
        {
          scale = height / graphics.Size.Height;
        }
        else
        {
          scale = width / graphics.Size.Width;
        }

        var canvas = new AndroidPlatform().CreateImageCanvas(graphics.Size, scale);
        graphics.Draw(canvas);
        var image = (BitmapImage)canvas.GetImage();
        result = image.Bitmap;

        //result = SvgFactory.GetBitmap(svgStream, width, height);
      });

			return result;
		}
コード例 #34
0
        void ParseSVG()
        {
            Task.Run(() => {
                string svg = null;
                CoreGraphics.CGRect previewSize = CoreGraphics.CGRect.Empty;
                string error = null;

                this.InvokeOnMainThread (() => {
                    Prev.Drawables = null;
                    previewSize = Prev.Bounds;
                    svg = Code;
                });

                try {
                    var reader = new SvgReader(new System.IO.StringReader(svg));
                    if (reader.Graphic != null)
                    {
                        if (reader.Graphic.Size.Height == 0 || reader.Graphic.Size.Width == 0)
                            reader.Graphic.Size = new Size(previewSize.Width, previewSize.Height);
                        Prev.Drawables = new IDrawable[] { reader.Graphic };
                    }
                } catch (Exception ex) {
                    error = ex.Message;
                }
                this.BeginInvokeOnMainThread(() => {
                    if (!string.IsNullOrEmpty(error))
                    {
                        Errors.Value = error;
                        Errors.TextColor = NSColor.Red;
                    } else {
                        Errors.Value = "";
                    }

                    Prev.SetNeedsDisplayInRect (previewSize);

                });
            });
        }
コード例 #35
0
ファイル: Graphic.cs プロジェクト: JoshuaNovak919/NGraphics
 public static Graphic LoadSvg(TextReader reader)
 {
     var valuesParser = new ValuesParser();
     var svgr = new SvgReader(reader, new StylesParser(valuesParser),valuesParser);
     return svgr.Graphic;
 }