SVG

SVG is a vector image format, and in GdPictureImaging you can load it in two ways:

Both methods return a GdPicture image ID (imageID) on success. On failure, they return 0 (use GetStat() for the reason).

Load an SVG without vectoring functionality

Use the CreateGdPictureImageFromFile method when you want the standard image-loading path.

using GdPicture14;
using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.svg", false);
if (imageID == 0)
{
Console.WriteLine($"CreateGdPictureImageFromFile failed: {gdpictureImaging.GetStat()}");
return;
}
GdPictureStatus status = gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");
if (status != GdPictureStatus.OK)
{
Console.WriteLine($"SaveAsPNG failed: {status}");
}
gdpictureImaging.ReleaseGdPictureImage(imageID);

Load an SVG with vectoring functionality

Use the CreateGdPictureImageFromMetaFile method when you want to preserve vectoring functionality and optionally control output size with ScaleBy.

CreateGdPictureImageFromMetaFile isn’t available in the current cross-platform GdPicture.API package on non-Windows targets (for example, net8.0 and net10.0). It’s available in Windows-specific/legacy toolkit variants.

using GdPicture14;
using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromMetaFile(@"C:\temp\source.svg", 2.0f);
if (imageID == 0)
{
Console.WriteLine($"CreateGdPictureImageFromMetaFile failed: {gdpictureImaging.GetStat()}");
return;
}
GdPictureStatus status = gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");
if (status != GdPictureStatus.OK)
{
Console.WriteLine($"SaveAsPNG failed: {status}");
}
gdpictureImaging.ReleaseGdPictureImage(imageID);