This is a .NET based tool set to save SVG to raster images. Includes a terminal-based program and a MSBuild task. It is compatible with .NET Framework 4.6.1 and Mono.
This program uses MSBuild (included in Visual Studio distribution on Windows or Mono on other operation systems). To build the program, run the following script:
$ nuget restore
$ msbuild /p:Configuration=Release SvgBuild.sln
It will create the SvgBuild.Console/bin/Release/SvgBuild.Console.exe
binary
file.
SvgBuild basically takes two required parameters: input and output path. Input path should lead to a valid SVG file, output path should lead to a valid place to save the resulting image. Output image format will be determined by the output file extension. The supported file extensions are:
.bmp
.gif
.ico
.jpeg
,.jpg
.png
.tiff
The image will be rescaled to the new size, if specified. Otherwise, the size of the original document will be preserved.
On Windows:
$ SvgBuild.Console <path to the input file> <path to the output file> [<width>x<height>]
On other operating systems:
$ mono SvgBuild.Console.exe <path to the input file> <path to the output file> [<width>x<height>]
Install SvgBuild.MsBuild
package into your project. Your NuGet client should
automatically generate the following in your project file:
<Import Project="..\packages\SvgBuild.MsBuild.1.0.0\build\SvgBuild.MsBuild.props"
Condition="Exists('..\packages\SvgBuild.MsBuild.1.0.0\build\SvgBuild.MsBuild.props')" />
After that, you're able to run SVG processing tasks e.g. in the AfterBuild
target:
<Target Name="SvgBuildTasks" AfterTargets="AfterBuild">
<SvgBuildTask InputPath="$(ProjectDir)..\SvgBuild.Tests\Resources\Image.svg"
OutputPath="$(OutDir)Test.bmp"
Width="30"
Height="60" /> <!-- Width and Height are optional -->
</Target>
On Windows:
$ dotnet test
On other operating systems:
$ mono ~/.nuget/xunit.runner.console.2.3.1/tools/net452/xunit.console.exe SvgBuild.Tests/bin/Release/SvgBuild.Tests.dll
$ pwsh ./SvgBuild.Tests.Integration/Run-IntegrationTests.ps1
To pack the project before uploading it to NuGet, use the following commands:
$ nuget restore
$ msbuild /p:Configuration=Release SvgBuild.sln
$ nuget pack SvgBuild.MsBuild/SvgBuild.MsBuild.csproj -Tool -Prop Platform=AnyCPU -Prop Configuration=Release