RasterImageclass serves as a working area for image manipulation and conversion. LEADTOOLS functions use this class to access an image in memory and to maintain the properties of an image.
public class RasterImage : IDisposable, ISerializable
@interface LTRasterImage : NSObject<NSCopying, NSCoding>
public class RasterImage
public ref class RasterImage : public System.IDisposable, System.Runtime.Serialization.ISerializable
RasterImage class is used to work with images defined by pixel data (bitmaps).
RasterImage class contains methods and properties for dealing with images in memory. Use this class to create images from scratch or load them from disk-based files. In addition, various other components of LEADTOOLS for .NET create
RasterImage objects from operations such as scanning and OCR. The
RasterImage class is the main LEADTOOLS class used when passing image data between different parts of the toolkit.
RasterImage class provides methods to access and set image data by individual pixels or rows of pixels. This class also contains methods and properties for the following actions:
Graphicsobject from an image using the
RasterImage class implements the
ISerializable interface and thus supports standard .NET serialization. For more information and examples regarding serialization of an
RasterImage object, refer to RasterImage Serialization.
RasterImage class also implements the
IDisposable interface. It is best to follow the standard .NET dispose pattern when using the
RasterImage class. For more information, refer to the
IDisposable interface documentation in MSDN, the
IsDisposed property, and the
RasterImage class supports storing images in memory in the following bits per pixel: 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 24, 32, 48, and 64. A 16-bpp image can be color or grayscale. A product from the Document/Medical Imaging editions is required if you are working with 12- or 16-bit grayscale images. Support for 8-bit grayscale images is provided in Imaging Pro and better.
The data of a
RasterImage object can be stored in memory as uncompressed, RLE-compressed, or super-compressed. The compression used for 8-bit and 24-bit images is lossy, which means multiple changes to the image can produce visual loss. Support for super-compressed bitmaps is available only in the Document/Medical Imaging editions.
RasterImage object can also store its data in disk-based swap files when conventional memory is not enough.
The current active page (the page indicated by the
Page property) is used by default when accessing the data of a
RasterImage object, unless otherwise indicated.
RasterImage object also contains a region of interest value to limit the application of an image processing command. The region can be set using a geometric shape such as
AddEllipseToRegion or with image data attributes such as
This example loads an image from a file on disk, and processes the image data before saving it back to disk.
public void RasterImageExample()
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_RasterImage1.bmp");
string destFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_RasterImage2.bmp");
// Load the image
RasterImage srcImage = codecs.Load(srcFileName);
// Creates a new image in memory with same dimensions as the source image
RasterImage destImage = new RasterImage(
// Copy the data from the source image to the destination image
byte buffer = new byte[srcImage.BytesPerLine];
for (int y = 0; y < srcImage.Height; y++)
srcImage.GetRow(y, buffer, 0, buffer.Length);
destImage.SetRow(y, buffer, 0, buffer.Length);
// We do not need the source image anymore
// save the destination image
codecs.Save(destImage, destFileName1, RasterImageFormat.Bmp, 24);
// perform image processing on the image
FlipCommand flipCmd = new FlipCommand();
flipCmd.Horizontal = false;
// save it
codecs.Save(destImage, destFileName2, RasterImageFormat.Bmp, 24);
// Clean up
static class LEAD_VARS
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
Medical Web Viewer .NET
.NET, Java, Android, and iOS/macOS Assemblies
C API/C++ Class Libraries