RasterImage Class (original) (raw)
Summary
The RasterImage
class 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.
Syntax
C#
Objective-C
C++/CLI
Java
Python
[SerializableAttribute()]
public class RasterImage : IDisposable, ISerializable
@interface LTRasterImage : NSObject<NSCopying, NSCoding>
public class RasterImage
implements java.io.Serializable
[SerializableAttribute()]
public ref class RasterImage : public System.IDisposable, System.Runtime.Serialization.ISerializable
class RasterImage(IDisposable, ISerializable):
Example
This example loads an image from a file on disk, and processes the image data before saving it back to disk.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;
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(
RasterMemoryFlags.Conventional,
srcImage.Width,
srcImage.Height,
srcImage.BitsPerPixel,
srcImage.Order,
srcImage.ViewPerspective,
srcImage.GetPalette(),
IntPtr.Zero,
0);
// Copy the data from the source image to the destination image
srcImage.Access();
destImage.Access();
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);
}
destImage.Release();
srcImage.Release();
// We do not need the source image anymore
srcImage.Dispose();
// save the destination image
codecs.Save(destImage, destFileName1, RasterImageFormat.Bmp, 24);
// perform image processing on the image
FlipCommand flipCmd = new FlipCommand();
flipCmd.Horizontal = false;
flipCmd.Run(destImage);
// save it
codecs.Save(destImage, destFileName2, RasterImageFormat.Bmp, 24);
// Clean up
destImage.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}
Leadtools Assembly