Daniel Hindrikes
Developer and architect with focus on mobile- and cloud solutions!
Developer and architect with focus on mobile- and cloud solutions!
For a pretty long time I have had code that I have used for a couple of different apps that uses SkiaSharp to convert an svg image to a Xamarin.Forms ImageSource. I also blogged about it two years ago, https://danielhindrikes.se/index.php/2018/03/13/use-skiasharp-to-convert-svg-to-xamarin-forms-imagesource/. But I never released it as a library until now.
The library is published to NuGet, https://www.nuget.org/packages/TinySvgHelper/
To install it, search for TinySvgHelper in the **Nuget Package Manager** or install it with the following command:
Install-Package TinySvgHelper
To use it you must add SvgHelper.Init() to your MainActivity and/or AppDelegate.
protected override void OnCreate(Bundle savedInstanceState)
{
....
SvgHelper.Init();
...
}
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
...
SvgHelper.Init();
...
}
You can use TinySvgHelper either from your XAML- or C# code. For iOS add the svg files to the **Resources** folder and for Android add the svg files to the **Assets** folder.
First you need to import the namespace:
xmlns:svg="clr-namespace:TinySvgHelper;assembly=TinySvgHelper"
Then you will use it as a markup extension:
You can also specify a color to it:
```
### C#
using TinySvgHelper;
var image = new Image();
image.Source = SvgHelper.GetAsImageSource("info.svg", 50, 50, Color.Blue);
Read more
You can find the full documentation, the code and a sample project on GitHub, https://github.com/TinyStuff/TinySvgHelper