public enum ImageIncompatibleReason
Value | Member | Description |
---|---|---|
0 | Compatible | Image is compatible |
1 | BitsPerPixel | Unsupported Bits/Pixel |
2 | Order | Unsupported color byte order |
3 | Palette | Unsupported palette |
4 | Data | Unsupported raw data |
5 | ViewPerspective | Unsupported view perspective |
6 | Other | Unspecified reason |
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 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:\LEADTOOLS22\Resources\Images";
}