This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /guides/dotnet/load-a-file/imaging/from-local-storage-more.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. Loading images from various sources in C# | Nutrient .NET SDK
More...

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:

  • BitDepth and background color, or
  • PixelFormat and 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);

Loading an image from an FTP server

To load an image from FTP, use the CreateGdPictureImageFromFTP method of the GdPictureImaging class.

Parameters:

  • Host
  • Path
  • Login
  • Password
  • FTPPort (typically 21)

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);

The 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):

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);

Loading an image from a metafile

To load a metafile image (EMF, WMF, SVG), use the CreateGdPictureImageFromMetaFile method.

Parameters:

  • FilePath
  • ScaleBy (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);