LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ToDibArray Method
See Also 
Leadtools Namespace > RasterImage Class : ToDibArray Method



type
Type of DIB to create.
type
Type of DIB to create.
Converts this RasterImage into a Windows device independent bitmap (DIB).

Syntax

Visual Basic (Declaration) 
Public Function ToDibArray( _
   ByVal type As RasterConvertToDibType _
) As Byte()
Visual Basic (Usage)Copy Code
Dim instance As RasterImage
Dim type As RasterConvertToDibType
Dim value() As Byte
 
value = instance.ToDibArray(type)
C# 
public byte[] ToDibArray( 
   RasterConvertToDibType type
)
C++/CLI 
public:
array<byte>^ ToDibArray( 
   RasterConvertToDibType type
) 

Parameters

type
Type of DIB to create.

Return Value

An array of System.Byte that contains the handle to the Windows DIB.

Example

Visual BasicCopy Code
Public Sub ToDibArrayExample()
      Dim codecs As New RasterCodecs()

      Dim dibData() As Byte

      Using image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"))
         dibData = image.ToDibArray(RasterConvertToDibType.BitmapInfoHeader)
      End Using

      Using image As RasterImage = RasterImage.FromDibArray(dibData, 0)
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromDibArray.bmp"), RasterImageFormat.Bmp, 0)
      End Using

      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void ToDibArrayExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      byte[] dibData;

      using(RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")))
      {
         dibData = image.ToDibArray(RasterConvertToDibType.BitmapInfoHeader);
      }

      using(RasterImage image = RasterImage.FromDibArray(dibData, 0))
      {
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromDibArray.bmp"), RasterImageFormat.Bmp, 0);
      }

      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

Remarks

When this method is completed, there are two copies of the image in memory: the DIB and the original RasterImage. Freeing one will not affect the other.

This methods allocates a DIB bitmap and copies the RasterImage to the DIB.

A DIB consists of one of the following:

  • a BITMAPFILEHEADER
  • a BITMAPV4HEADER(introduced in Windows 95 and Windows NT 4.0)
  • or a BITMAPV5HEADER (introduced in Windows 2000 and Windows 98)

followed by a color table and then the bitmap data. The resulting DIB type is determined by the value of the type parameter.

The orientation of the image and color order will depend on how the image was loaded into the RasterImage.

When you no longer need the DIB, you can free it using the Windows GlobalFree function or System.Runtime.InteropServices.Marshal.FreeHGlobal(System.IntPtr).

For more information on DDBs and DIBs, refer to Introduction: DIBs, DDBs, and the Clipboard.

This function does not support signed images.

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7

See Also