public static IntPtr GetPaintHPalette(RasterImage image,IntPtr hdc)
image
The source image.
hdc
The device context object on which this Leadtools.RasterImage is painted.
A Windows palette handle (HPALETTE). You must delete this palette with the Windows DeleteObject API after using it.
For more information refer to RasterImage and GDI/GDI+ and Handling Palette Changes.
using Leadtools;using Leadtools.Codecs;using Leadtools.Drawing;using Leadtools.ImageProcessing;// Windows API[DllImport("Gdi32")]private static extern uint GetPaletteEntries(IntPtr hpal, uint nStartIndex, uint nNumEntries, [In, Out] byte[] colors);[DllImport("Gdi32")]private static extern int DeleteObject(IntPtr hObject);public void GetPaintHPaletteExample(){RasterCodecs codecs = new RasterCodecs();RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 8, CodecsLoadByteOrder.Rgb, 1, 1);IntPtr hpalette = RasterImagePainter.GetPaintHPalette(image, IntPtr.Zero);if (hpalette != IntPtr.Zero){// Show the pal// 4 bytes for each colorbyte[] colors = new byte[256 * 4];GetPaletteEntries(hpalette, 0, 256, colors);int index = 0;for (int i = 0; i < 256; i++){Console.WriteLine("{0} - {1}, {2}, {3}", i, colors[index + 0], colors[index + 1], colors[index + 2]);index += 4;}DeleteObject(hpalette);}else{Console.WriteLine("There is no palette");}image.Dispose();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}