Voici deux solutions possibles pour commencer à travailler avec SkiaSharp qui travaillent pour moi:
SVG Chargement du dossier actif (ou sous-dossier):
public SKSvg LoadAnSvgFromAssets(Context ctx, string assetSvgFileLoc)
{
var assets = ctx.Assets;
var svg = new SKSvg();
using (var stream = new StreamReader(assets.Open(assetSvgFileLoc)))
{
svg.Load(stream.BaseStream);
return svg;
}
}
où "assetSvgFileLoc" est le svgFilename. svg à charger, y compris (si c'est le cas) le chemin dans le dossier Asset (par exemple "subf1/subf2/mysvg.svg").
SVG Chargement RAW ressources
public SKSvg LoadAnSvgFromResources(Context ctx, string svgName))
{
var resId = ctx.Resources.GetIdentifier(svgName, "raw", ctx.PackageName);
var svg = new SKSvg();
using (var stream = ctx.Resources.OpenRawResource(resId))
{
svg.Load(stream);
return svg;
}
}
Dans ce cas, le fichier se trouve dans le sous-dossier des ressources « brut » et le « svgName » est le nom de notre svg sans extension.