←Select platform

MakeCompatible Method

Summary
Makes a Leadtools.RasterImage GDI+ compatible.
Syntax
C#
C++/CLI
Python
public static void MakeCompatible( 
   RasterImage image, 
   PixelFormat pixelFormat, 
   bool noPalette 
) 
public: 
static void MakeCompatible(  
   RasterImage^ image, 
   PixelFormat pixelFormat, 
   bool noPalette 
)  
def MakeCompatible(self,image,pixelFormat,noPalette): 

Parameters

image
The source image.

pixelFormat
The pixel format to use.

noPalette
Fails if the image is palletized.

Remarks

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+.

Example
C#
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 image 
   using (RasterImage srcImage = codecs.Load(srcFileName)) 
   { 
      // Convert to GDI+ image 
      ImageIncompatibleReason 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 disk 
         destImage1.Save(destFileName1, ImageFormat.Bmp); 
 
         // Convert the GDI+ image back to a RasterImage 
         using (RasterImage destImage2 = RasterImageConverter.ConvertFromImage(destImage1, ConvertFromImageOptions.None)) 
         { 
            // Save it to disk 
            codecs.Save(destImage2, destFileName2, RasterImageFormat.Bmp, 24); 
         } 
      } 
   } 
 
   // Clean up 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Drawing Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.