Returns a Windows palette handle corresponding to this Leadtools.RasterImage if painted on the given device context.
public static IntPtr GetPaintHPalette(RasterImage image,IntPtr hdc)
Public Shared Function GetPaintHPalette( _ByVal image As RasterImage, _ByVal hdc As IntPtr _) As IntPtr
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+.
For more information, refer to 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:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.DrawingImports Leadtools.ImageProcessing' Windows API<DllImport("Gdi32")>Private Shared Function GetPaletteEntries(ByVal hpal As IntPtr, ByVal nStartIndex As UInt32, ByVal nNumEntries As UInt32, <InAttribute(), Out()> ByVal colors() As Byte) As UInt32End Function<DllImport("Gdi32")>Private Shared Function DeleteObject(ByVal hObject As IntPtr) As IntegerEnd FunctionPublic Sub GetPaintHPaletteExample()Dim codecs As New RasterCodecs()Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 8, CodecsLoadByteOrder.Rgb, 1, 1)Dim hpalette As IntPtr = RasterImagePainter.GetPaintHPalette(image, IntPtr.Zero)If hpalette <> IntPtr.Zero Then' Show the pal' 4 bytes for each colorDim colors(256 * 4 - 1) As ByteGetPaletteEntries(hpalette, 0, 256, colors)Dim index As Integer = 0For i As Integer = 0 To 255Console.WriteLine("{0} - {1}, {2}, {3}", i, colors(index + 0), colors(index + 1), colors(index + 2))index = index + 4NextDeleteObject(hpalette)ElseConsole.WriteLine("There is no palette")End Ifimage.Dispose()codecs.Dispose()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
