This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /guides/dotnet/save-a-file/imaging-byte-array.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. Save image C#: Save JPG, TIFF, BMP, and PNG in C# | Nutrient .NET SDK
To Byte Array

To save a GdPicture image to a byte array, use the SaveAsByteArray method of the GdPictureImaging class.

SaveAsByteArray parameters:

  • imageID — The GdPicture image identifier.
  • Data (by reference) — Byte array that receives encoded image data.
  • Length (by reference) — Number of valid bytes written to Data.
  • ImageFormat — Output format as a member of the DocumentFormat enumeration.
  • EncoderParameter — Encoding/compression parameter depending on output format.

SaveAsByteArray returns a GdPictureStatus, which should be checked.

Typical EncoderParameter values:

  • JPEG — Quality 1 to 100
  • PNG — Compression level 0 to 9
  • TIFF — Values from TiffCompression enumeration
  • JPEG2000 — Compression rate 1 to 512
  • WebP — Quality 1 to 100
  • Other formats — Usually 0

When you no longer need an image resource, release it with the ReleaseGdPictureImage method.

The following example saves a previously loaded JPG image to a byte array:

using GdPicture14;
using System;
using System.IO;
using GdPictureImaging gdPictureImaging = new GdPictureImaging();
int imageID = gdPictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.jpg");
if (imageID == 0)
{
Console.WriteLine($"CreateGdPictureImageFromFile failed: {gdPictureImaging.GetStat()}");
return;
}
byte[] data = Array.Empty<byte>();
int length = 0;
GdPictureStatus status = gdPictureImaging.SaveAsByteArray(
imageID,
ref data,
ref length,
DocumentFormat.DocumentFormatPNG,
9);
if (status != GdPictureStatus.OK)
{
Console.WriteLine($"SaveAsByteArray failed: {status}");
gdPictureImaging.ReleaseGdPictureImage(imageID);
return;
}
File.WriteAllBytes(@"C:\temp\output.png", data.AsSpan(0, length).ToArray());
gdPictureImaging.ReleaseGdPictureImage(imageID);