ここで、私のために働いている SkiaSharp での作業を開始するための 2 つの可能な解決策を示します。
Asset フォルダー (またはサブフォルダー) から SVG をロードする:
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;
}
}
ここで、"assetSvgFileLoc" はロードする svgFilename.svg であり、アセット フォルダー内のパス (例: "subf1/subf2/mysvg.svg") を含みます (該当する場合)。
SVG を RAW リソースとしてロードする
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;
}
}
この場合、ファイルは Resources サブフォルダー「raw」内にあり、「svgName」は拡張子なしの svg のファイル名です。