Load a vector image (SVG) from local storage in C#
SVG
SVG is a vector image format, and in GdPictureImaging you can load it in two ways:
- To load the SVG without vectoring functionality (rasterized), use the
CreateGdPictureImageFromFilemethod. - To load the SVG with vectoring functionality, use the
CreateGdPictureImageFromMetaFilemethod (available in Windows-specific/legacy toolkit variants).
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);Imports GdPicture14
Using gdpictureImaging As New GdPictureImaging() Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromFile("C:\temp\source.svg", False) If imageID = 0 Then Console.WriteLine($"CreateGdPictureImageFromFile failed: {gdpictureImaging.GetStat()}") Return End If
Dim status As GdPictureStatus = gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAsPNG failed: {status}") End If
gdpictureImaging.ReleaseGdPictureImage(imageID)End UsingLoad 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);Imports GdPicture14
Using gdpictureImaging As New GdPictureImaging() Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromMetaFile("C:\temp\source.svg", 2.0F) If imageID = 0 Then Console.WriteLine($"CreateGdPictureImageFromMetaFile failed: {gdpictureImaging.GetStat()}") Return End If
Dim status As GdPictureStatus = gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAsPNG failed: {status}") End If
gdpictureImaging.ReleaseGdPictureImage(imageID)End Using