Whenever you paint an image to a device of 256 colors or less, the current system palette is used. This topic describes how to ensure that the current system palette is the one you want to use.
First, consider that LEADTOOLS gives you the following two choices for painting to a device of 256 colors or less:
Generally, the following order of execution ensures that the current system palette is the one you want to use:
PaintDisplayMode = FixedPalette;
The following code turns off the LEAD fixed palette:
PaintDisplayMode = None;
string srcFileName = @"d:\lt16\Images\eye.gif";
RasterImage srcImage = codecs.Load(srcFileName);
Graphics g = this.CreateGraphics();
System.Drawing.Imaging.ColorPalette palPaint = srcImage.GetPaintPalette(g);
Rectangle dstRect = new Rectangle(0, 0, srcImage.Width, srcImage.Height);
RasterPaintProperties props = RasterPaintProperties.Default;
srcImage.Paint(g, Rectangle.Empty, dstRect, props);
Please note that if you are painting a 16-bit grayscale image to a 24-bit device, you must call RasterImagePainter.GetPaintPalette before you call RasterImagePainter.Paint.
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