public static RasterImage ChangeFromHBitmap(IntPtr hbitmap,IntPtr hpalette)
hbitmap
Handle to the DDB to be changed.
hpalette
Handle to the palette. This value can be IntPtr.Zero if the hbitmap parameter refers to a bitmap that is greater than 8 bits, or if the bitmap will use the system palette.
The newly created Leadtools.RasterImage object.
This method results in only one copy of the image, and it invalidates the DDB (hbitmap) handle.
For more information on DDBs, DIBs, GDI and GDI+ refer to Using DIBs, DDBs, and the Clipboard and RasterImage and GDI/GDI+.
using Leadtools;using Leadtools.Codecs;using Leadtools.Drawing;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;public void ChangeToHBitmapExample(){RasterCodecs codecs = new RasterCodecs();IntPtr hbitmap;// Load an imageusing (RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)){// Change to DDBhbitmap = RasterImageConverter.ChangeToHBitmap(image);// Dispose the image since it is unusable now}// Change the DDB to a new LEAD RasterImageusing (RasterImage image = RasterImageConverter.ChangeFromHBitmap(hbitmap, IntPtr.Zero)){// Save this image back to diskcodecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeToHBitmap.bmp"), RasterImageFormat.Bmp, 24);}DeleteObject(hbitmap);// Clean upcodecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}