Load images using the API in C#
Creating an empty image
To create an empty image, use the CreateNewGdPictureImage method of the GdPictureImaging class.
It returns a non-zero imageID on success. If it fails, it returns 0 — use GetStat() to get the reason.
You can create an image using either:
BitDepthand background color, orPixelFormatand background color
The background color can be provided as either a System.Drawing.Color object, or an integer color value from the ARGB method.
When you no longer need an image resource, release it with the ReleaseGdPictureImage method.
using GdPicture14;using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateNewGdPictureImage( 200, 200, BitDepth: 32, BackColor: gdpictureImaging.ARGB(100, 100, 100, 100));
if (imageID == 0){ Console.WriteLine($"CreateNewGdPictureImage failed: {gdpictureImaging.GetStat()}"); return;}
GdPictureStatus status = gdpictureImaging.SaveAsJPEG(imageID, @"C:\temp\output.jpg", 85);if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAsJPEG failed: {status}");}
gdpictureImaging.ReleaseGdPictureImage(imageID);Imports GdPicture14
Using gdpictureImaging As New GdPictureImaging() Dim imageID As Integer = gdpictureImaging.CreateNewGdPictureImage( 200, 200, BitDepth:=32, BackColor:=gdpictureImaging.ARGB(100, 100, 100, 100))
If imageID = 0 Then Console.WriteLine($"CreateNewGdPictureImage failed: {gdpictureImaging.GetStat()}") Return End If
Dim status As GdPictureStatus = gdpictureImaging.SaveAsJPEG(imageID, "C:\temp\output.jpg", 85) If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAsJPEG failed: {status}") End If
gdpictureImaging.ReleaseGdPictureImage(imageID)End UsingLoading an image from an FTP server
To load an image from FTP, use the CreateGdPictureImageFromFTP method of the GdPictureImaging class.
Parameters:
HostPathLoginPasswordFTPPort(typically21)
The method returns a non-zero imageID on success. If it fails, it returns 0. Use GetStat() first, and for internet transfer errors, use GetLastTransferError().
using GdPicture14;using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromFTP( "ftp.example.com", "/demo/source.jpg", "user", "passw0rd", 21);
if (imageID == 0){ Console.WriteLine($"FTP load failed: {gdpictureImaging.GetStat()}"); Console.WriteLine($"Transfer error: {gdpictureImaging.GetLastTransferError()}"); 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.CreateGdPictureImageFromFTP( "ftp.example.com", "/demo/source.jpg", "user", "passw0rd", 21)
If imageID = 0 Then Console.WriteLine($"FTP load failed: {gdpictureImaging.GetStat()}") Console.WriteLine($"Transfer error: {gdpictureImaging.GetLastTransferError()}") 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 UsingThe following GdPictureImaging methods are Windows-only and aren’t included in the cross-platform GdPicture.API package output on non-Windows targets (for example, net8.0 and net10.0):
CreateGdPictureImageFromClipboardCopyRegionToClipboardDeleteClipboardDataCreateGdPictureImageFromMetaFile
These APIs are available in Windows-specific/legacy toolkit variants (for example, WinForms/.NET Framework builds).
For cross-platform apps using GdPicture.API, use file/stream/byte-array loading methods instead — for example, the CreateGdPictureImageFromFile method, the CreateGdPictureImageFromStream method, and the CreateGdPictureImageFromByteArray method.
Loading an image from the clipboard
To load an image from clipboard data, use the CreateGdPictureImageFromClipboard method.
It returns a non-zero imageID on success. If it fails, it returns 0.
using GdPicture14;using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageSourceID = gdpictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.jpg");if (imageSourceID == 0){ Console.WriteLine($"Source load failed: {gdpictureImaging.GetStat()}"); return;}
GdPictureStatus copyStatus = gdpictureImaging.CopyRegionToClipboard(imageSourceID, 0, 0, 100, 100);if (copyStatus != GdPictureStatus.OK){ Console.WriteLine($"CopyRegionToClipboard failed: {copyStatus}"); gdpictureImaging.ReleaseGdPictureImage(imageSourceID); return;}
int imageID = gdpictureImaging.CreateGdPictureImageFromClipboard();if (imageID == 0){ Console.WriteLine($"CreateGdPictureImageFromClipboard failed: {gdpictureImaging.GetStat()}"); gdpictureImaging.ReleaseGdPictureImage(imageSourceID); return;}
gdpictureImaging.SaveAsJPEG(imageID, @"C:\temp\output.jpg", 85);gdpictureImaging.DeleteClipboardData();gdpictureImaging.ReleaseGdPictureImage(imageID);gdpictureImaging.ReleaseGdPictureImage(imageSourceID);Imports GdPicture14
Using gdpictureImaging As New GdPictureImaging() Dim imageSourceID As Integer = gdpictureImaging.CreateGdPictureImageFromFile("C:\temp\source.jpg") If imageSourceID = 0 Then Console.WriteLine($"Source load failed: {gdpictureImaging.GetStat()}") Return End If
Dim copyStatus As GdPictureStatus = gdpictureImaging.CopyRegionToClipboard(imageSourceID, 0, 0, 100, 100) If copyStatus <> GdPictureStatus.OK Then Console.WriteLine($"CopyRegionToClipboard failed: {copyStatus}") gdpictureImaging.ReleaseGdPictureImage(imageSourceID) Return End If
Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromClipboard() If imageID = 0 Then Console.WriteLine($"CreateGdPictureImageFromClipboard failed: {gdpictureImaging.GetStat()}") gdpictureImaging.ReleaseGdPictureImage(imageSourceID) Return End If
gdpictureImaging.SaveAsJPEG(imageID, "C:\temp\output.jpg", 85) gdpictureImaging.DeleteClipboardData() gdpictureImaging.ReleaseGdPictureImage(imageID) gdpictureImaging.ReleaseGdPictureImage(imageSourceID)End UsingLoading an image from a metafile
To load a metafile image (EMF, WMF, SVG), use the CreateGdPictureImageFromMetaFile method.
Parameters:
FilePathScaleBy(optional)
The method returns a non-zero imageID on success. Otherwise, it returns 0. Use GetStat() to diagnose failures.
GetLastPath() can be used to retrieve the last selected/loaded/saved path.
using GdPicture14;using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromMetaFile(@"C:\temp\source.emf", 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.emf", 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