LEADTOOLS GDI/GDI+ (Leadtools.Drawing assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ChangeToHBitmap(RasterImage) Method
See Also 



image
The source image.
image
The source image.
Changes a LEADTOOLS Leadtools.RasterImage object to a Windows Device Dependent Bitmap (DDB).

Syntax

Visual Basic (Declaration) 
Overloads Public Shared Function ChangeToHBitmap( _
   ByVal image As RasterImage _
) As IntPtr
Visual Basic (Usage)Copy Code
Dim image As RasterImage
Dim value As IntPtr
 
value = RasterImageConverter.ChangeToHBitmap(image)
C# 
public static IntPtr ChangeToHBitmap( 
   RasterImage image
)
C++/CLI 
public:
static IntPtr ChangeToHBitmap( 
   RasterImage^ image
) 

Parameters

image
The source image.

Return Value

A handle to the device dependent bitmap (DDB) this method creates.

Example

For an example, refer to ChangeToHBitmap(RasterImage).

This example loads a Leadtools.RasterImage, changes it to a DDB and then changes it back to Leadtools.RasterImage.

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

      Dim hbitmap As IntPtr

      ' Load an image
      Using image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)
         ' Change to DDB
         hbitmap = RasterImageConverter.ChangeToHBitmap(image)

         ' Dispose the image since it is unusable now
      End Using

      ' Change the DDB to a new LEAD RasterImage
      Using image As RasterImage = RasterImageConverter.ChangeFromHBitmap(hbitmap, IntPtr.Zero)
         ' Save this image back to disk
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeToHBitmap.bmp"), RasterImageFormat.Bmp, 24)
      End Using

      DeleteObject(hbitmap)

      ' Clean up
      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 ChangeToHBitmapExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      IntPtr hbitmap;

      // Load an image
      using(RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1))
      {
         // Change to DDB
         hbitmap = RasterImageConverter.ChangeToHBitmap(image);

         // Dispose the image since it is unusable now
      }

      // Change the DDB to a new LEAD RasterImage
      using(RasterImage image = RasterImageConverter.ChangeFromHBitmap(hbitmap, IntPtr.Zero))
      {
         // Save this image back to disk
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeToHBitmap.bmp"), RasterImageFormat.Bmp, 24);
      }

      DeleteObject(hbitmap);

      // Clean up
      codecs.Dispose();
   }

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

Remarks

This method results in only one copy of the image, and it invalidates this Leadtools.RasterImage object. You must call RasterImage.Dispose after calling this method.

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

For more information refer to RasterImage and GDI/GDI+.

Requirements

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

See Also