{"id":14986239,"url":"https://github.com/elinamllc/sharpvectors","last_synced_at":"2025-04-29T18:27:31.017Z","repository":{"id":37412724,"uuid":"112022071","full_name":"ElinamLLC/SharpVectors","owner":"ElinamLLC","description":"SharpVectors - SVG# Reloaded: SVG DOM and Rendering in C# for the .Net.","archived":false,"fork":false,"pushed_at":"2024-11-20T02:58:00.000Z","size":175940,"stargazers_count":746,"open_issues_count":33,"forks_count":138,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-12T17:45:04.221Z","etag":null,"topics":["dotnet","graphics","scalable-vector-graphics","sharpvectors","svg","svg-dom","svg-files","svg-to-wpf","svg-to-xaml","viewer","winforms","wpf","wpf-applications","xaml"],"latest_commit_sha":null,"homepage":"https://elinamllc.github.io/SharpVectors/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ElinamLLC.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-25T17:30:41.000Z","updated_at":"2025-04-08T19:55:12.000Z","dependencies_parsed_at":"2023-09-27T23:47:37.032Z","dependency_job_id":"6e782d02-0b17-41bd-85d8-bfc6c1722db5","html_url":"https://github.com/ElinamLLC/SharpVectors","commit_stats":{"total_commits":307,"total_committers":21,"mean_commits":"14.619047619047619","dds":"0.24429967426710097","last_synced_commit":"59aef849b873bd98ab285c4a05ed0535104fbacc"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElinamLLC%2FSharpVectors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElinamLLC%2FSharpVectors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElinamLLC%2FSharpVectors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElinamLLC%2FSharpVectors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElinamLLC","download_url":"https://codeload.github.com/ElinamLLC/SharpVectors/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251558541,"owners_count":21608841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","graphics","scalable-vector-graphics","sharpvectors","svg","svg-dom","svg-files","svg-to-wpf","svg-to-xaml","viewer","winforms","wpf","wpf-applications","xaml"],"created_at":"2024-09-24T14:12:34.680Z","updated_at":"2025-04-29T18:27:30.999Z","avatar_url":"https://github.com/ElinamLLC.png","language":"C#","readme":"## Project Description\nThe Scalable Vector Graphics (SVG) is an XML-based standard file format for creating graphics on the web, \nand is supported by most modern browsers.\nThis project provides a C# library for parsing, converting and viewing the SVG files in WPF applications.\n\nThe [Scalable Vector Graphics (SVG)](http://en.wikipedia.org/wiki/Scalable_Vector_Graphics) is now natively \nsupported in most internet browsers, including the IE 9. With the HTML5, the use of the SVG as graphics \nformat on the web is increasing. \n\nFor .NET application developers, there is currently no library complete enough to handle SVG files. \nEven the commercial tools are either not available or not complete enough to handle most uses of \nthe SVG in Windows Presentation Foundation (WPF) applications.\nThe project does not aim to provide a complete implementation of the SVG file format, but will \nsupport the features required in an average graphics application.\n\nThe SVG specification is available in [HTML](https://www.w3.org/TR/SVG11/) format or the [PDF](https://www.w3.org/TR/SVG11/REC-SVG11-20110816.pdf) format.\n\n## Features and Uses\nIn general, the following features are implemented:\n* Parsing of the SVG files to create the SVG DOM\n* SVG to XAML conversion\n* A small runtime library to handle font URI, embedded images and others when using the XAML files directly from disk.\n* An optimized XAML output.\n* A simple and basic SVG viewer (an advanced viewer is planned).\n* Interaction with the conversion process (by a visitor pattern) to allow for custom hyper-link implementations, font substitutions etc.\n\n**NOTE**: Only Geometry/Drawing level elements are exported, which will not work with Silverlight. \nSee the [Documentation](https://elinamllc.github.io/SharpVectors) section for more information on the features.\n\n## Installation\nThe SharpVectors library targets the following frameworks\n* .NET Framework, Version 4.0\n* .NET Framework, Version 4.5\n* .NET Framework, Version 4.6\n* .NET Framework, Version 4.7\n* .NET Framework, Version 4.8\n* .NET Standard, Version 2.1\n* .NET Core, Version 3.1\n* .NET 6.0 ~ .NET 8.0\n\nThe library can be used in WPF and Windows Forms applications.\n\n### For the Library\nThe library can be downloaded from the following sources\n* **NuGet (WPF Only Package)**, [Version 1.8.4 - SharpVectors.Wpf](https://www.nuget.org/packages/SharpVectors.Wpf/).\n* **NuGet (Full Package - WPF/GDI++)**, [Version 1.8.4 - SharpVectors](https://www.nuget.org/packages/SharpVectors/).\n* **NuGet (Full Package - WPF/GDI++)**, [Version 1.8.4 - SharpVectors.Reloaded](https://www.nuget.org/packages/SharpVectors.Reloaded/).\n* **GitHub Releases Page**, [Version 1.8.4](https://github.com/ElinamLLC/SharpVectors/releases).\n\n\u003e * The **SharpVectors.Reloaded** package is the same as the **SharpVectors**, which is the recommended package if you need the full package.\n\u003e * The **SharpVectors.Reloaded** name was used for the Nuget package at the time the **SharpVectors** package name was not available.\n\u003e * The **SharpVectors.Reloaded** package name will be retired in Version 2.0.\n\u003e * The **SharpVectors.Wpf** is the recommended package, for `WPF` only application.\n\u003e * As outlined in the [roadmap](https://github.com/ElinamLLC/SharpVectors/issues/147), other packages such as the **SharpVectors.Gdi** for the `GDI+`, will be available as the renderers mature.\n\n## Documentation\nAn introduction and a tutorial with sample are available. See the [Documentation](https://elinamllc.github.io/SharpVectors) section for more information.\n\n## Sample Applications\nThe library includes a number of sample application for both WPF and GDI+. Here are some of them:\n\n### WPF Test Application\nThis is an application for browsing directory (recursively) of SVG files.\n\n![](Images/Home_WpfTestSvgSample.png)\n\n### WPF W3C Test Suite\nThis is an application for viewing the W3C Test Suite compliant results. It has two panes: top and bottom. \nThe top pane is the generated WPF output, the bottom pane is the W3C expected output image.\nBy the test results, this is the most complete SVG reader for WPF!\n\n![](Images/Home_WpfW3cSvgTestSuite.png)\n\n### GDI+ W3C Test Suite\nThis is an application for viewing the W3C Test Suite compliant results. It has two panes: top and bottom. \nThe top pane is the generated GDI+ output, the bottom pane is the W3C expected output image.\n\n![](Images/GdiW3cSvgTestSuite.png)\n\n## Tutorial Samples\nA number of tutorial samples are available in the [TutorialSamples](https://github.com/ElinamLLC/SharpVectors/tree/master/TutorialSamples) folder.\n\n## Credits\nSharpVectors uses source codes from articles and other open source projects. We wish to acknowledge and thank \nthe authors of these great articles and projects\n* [SharpVectorGraphics (aka SVG#)](https://sourceforge.net/projects/svgdomcsharp/) by SVG# Team of Developers (SourceForge)\n* [WPF Zooming and Panning Control](https://www.codeproject.com/KB/WPF/zoomandpancontrol.aspx) by Ashley Davis (CodeProject)\n* [Render Text On A Path With WPF](https://msdn.microsoft.com/en-us/magazine/dd263097.aspx) by Charles Petzold (MSDN Magazine - December 2008)\n* [MinIoC](https://github.com/microsoft/MinIoC) by Microsoft (Single-file minimal C# IoC container)\n* [.NET ZLib Implementation](https://www.codeproject.com/Tips/830793/NET-ZLib-Implementation) by Alberto M (CodeProject)\n* [Brotli compression format](https://github.com/google/brotli) by Google (C# Decoder)\n\n## Related Projects\nThe following are related SVG viewer projects for the .NET platforms\n* [SVG](https://github.com/vvvv/SVG) for GDI+\n* [SVGImage](https://github.com/dotnetprojects/SVGImage) for WPF\n\n## Related Repositories\nThe following are related SharpVectors repositories\n* [SvgTestSuites](https://github.com/ElinamLLC/SvgTestSuites) : The W3C Test Suite files used by the SharpVectors for testing.\n* [SvgXaml](https://github.com/ElinamLLC/SvgXaml) : SharpVectors based SVG to XAML converter application.\n* [SvgViewer](https://github.com/ElinamLLC/SvgViewer) : SharpVectors based SVG viewer application.\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felinamllc%2Fsharpvectors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felinamllc%2Fsharpvectors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felinamllc%2Fsharpvectors/lists"}