public static void MakeCompatible(RasterImage image,PixelFormat pixelFormat,bool noPalette)
image
The source image.
pixelFormat
The pixel format to use.
noPalette
Fails if the image is palletized.
Pass PixelFormat.DontCare to the pixelFormat parameter to have the method choose the appropriate pixel format.
For a Leadtools.RasterImage to be compatible with a GDI+ image it needs the following:
This method will make one or more of the changes above to the Leadtools.RasterImage if needed.
For more information refer to RasterImage and GDI/GDI+.
using Leadtools;using Leadtools.Codecs;using Leadtools.Drawing;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;public void ConvertToImageExample(){RasterCodecs codecs = new RasterCodecs();string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");string destFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "GdiPlusImage.bmp");string destFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromGdiPlusImage.bmp");// Load the imageusing (RasterImage srcImage = codecs.Load(srcFileName)){// Convert to GDI+ imageImageIncompatibleReason reason = RasterImageConverter.TestCompatible(srcImage, true);PixelFormat pf = RasterImageConverter.GetNearestPixelFormat(srcImage);Console.WriteLine("TestCompatible: {0}", reason);Console.WriteLine("GetNearestPixelFormat:{0}", pf);if (reason != ImageIncompatibleReason.Compatible){RasterImageConverter.MakeCompatible(srcImage, pf, true);}using (Image destImage1 = RasterImageConverter.ConvertToImage(srcImage, ConvertToImageOptions.None)){// Save this image to diskdestImage1.Save(destFileName1, ImageFormat.Bmp);// Convert the GDI+ image back to a RasterImageusing (RasterImage destImage2 = RasterImageConverter.ConvertFromImage(destImage1, ConvertFromImageOptions.None)){// Save it to diskcodecs.Save(destImage2, destFileName2, RasterImageFormat.Bmp, 24);}}}// Clean upcodecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}