Provides support for converting image data buffers. 
Syntax
| Visual Basic (Declaration) | 
  | 
Public MustInherit NotInheritable Class RasterBufferConverter   | 
 
| C# | 
  | 
public static class RasterBufferConverter   | 
 
| C++/CLI | 
  | 
public ref class RasterBufferConverter abstract sealed   | 
  
Example
This example loads an image at 24 bits per pixel, and creates a new image at 16 bits per pixel, and uses the Convert method to convert data from 24 bits per pixel to 16 bits per pixel.
| Visual Basic | 
 Copy Code | 
Public Sub RasterBufferConverterExample()  RasterCodecs.Startup()  Dim codecs As RasterCodecs = New RasterCodecs()  codecs.ThrowExceptionsOnInvalidImages = True
   Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"  Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_16bits.bmp"
     Dim srcImage As RasterImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1)  Debug.Assert(srcImage.BitsPerPixel = 24)
   Dim buffer As Byte() = New Byte(srcImage.BytesPerLine - 1) {}
     Dim destImage As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, srcImage.Width, srcImage.Height, 16, srcImage.Order, srcImage.ViewPerspective, srcImage.GetPalette(), IntPtr.Zero, 0)
   Debug.Assert(destImage.BitsPerPixel = 16)
     srcImage.Access()  destImage.Access()
   Dim i As Integer = 0  Do While i < srcImage.Height     srcImage.GetRow(i, buffer, 0, srcImage.BytesPerLine)
      RasterBufferConverter.Convert(buffer, 0, srcImage.Width, srcImage.BitsPerPixel, destImage.BitsPerPixel, srcImage.Order, destImage.Order, Nothing, Nothing, 0)
      destImage.SetRow(i, buffer, 0, destImage.BytesPerLine)     i += 1  Loop
   destImage.Release()  srcImage.Release()
     codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 16)
     srcImage.Dispose()  destImage.Dispose()  RasterCodecs.Shutdown()       End Sub | 
 
| C# | 
 Copy Code | 
public void RasterBufferConverterExample()  {     RasterCodecs.Startup();     RasterCodecs codecs = new RasterCodecs();     codecs.ThrowExceptionsOnInvalidImages = true;       string srcFileName =  LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp";      string destFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_16bits.bmp";       // Load the image, at 24 bit per pixel.     RasterImage srcImage = codecs.Load(srcFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1);     Debug.Assert(srcImage.BitsPerPixel == 24);       byte[] buffer  = new byte[srcImage.BytesPerLine];       // Create a new 16-bit image.     RasterImage destImage = new RasterImage(        RasterMemoryFlags.Conventional,        srcImage.Width,        srcImage.Height,        16,        srcImage.Order,        srcImage.ViewPerspective,        srcImage.GetPalette(),        IntPtr.Zero,        0);       Debug.Assert(destImage.BitsPerPixel == 16);       // Process each row from src to dest image     srcImage.Access();     destImage.Access();       for(int i = 0; i < srcImage.Height; i++)     {        srcImage.GetRow(i, buffer, 0, srcImage.BytesPerLine);          RasterBufferConverter.Convert(           buffer,           0,           srcImage.Width,           srcImage.BitsPerPixel,           destImage.BitsPerPixel,           srcImage.Order,           destImage.Order,           null,           null,           0);          destImage.SetRow(i, buffer, 0, destImage.BytesPerLine);     }       destImage.Release();     srcImage.Release();       // Save the destination image back to disk     codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 16);       // Clean up     srcImage.Dispose();     destImage.Dispose();     RasterCodecs.Shutdown();  } | 
  
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
 
See Also