Svg.Skia supports two generated-code workflows.
Svg.SourceGenerator.Skia compiles .svg additional files into C# types during build.
Add the package:
<ItemGroup>
<PackageReference Include="Svg.SourceGenerator.Skia" Version="*" />
</ItemGroup>
Add SVG assets:
<ItemGroup>
<AdditionalFiles Include="Assets\**\*.svg" />
</ItemGroup>
Optional metadata can control the generated type names:
<ItemGroup>
<AdditionalFiles Include="Assets\Camera.svg"
ClassName="Camera"
NamespaceName="Svg.Generated" />
</ItemGroup>
The sample project under samples/Svg.SourceGenerator.Skia.Sample demonstrates the generated classes being used as static Picture providers.
samples/svgc is a command-line tool that uses Svg.CodeGen.Skia directly.
Generate one file:
dotnet run -p samples/svgc/svgc.csproj -c Release -- \
--inputFile ./Assets/icon.svg \
--outputFile ./Generated/Icon.cs \
--namespace Svg.Generated \
--class Icon
Generate many files from JSON:
dotnet run -p samples/svgc/svgc.csproj -c Release -- --jsonFile ./items.json
Use the source generator when:
Use svgc when: