public static Image ConvertToImage(
RasterImage image,
ConvertToImageOptions options
)
image
The source image.
options
The conversion options.
The GDI+ image this method creates
This result GDI+ image is a copy of this Leadtools.RasterImage object and do not share the same image data. You can use this method to pass a LEAD Leadtools.RasterImage object to other class library methods that expect a GDI+ System.Drawing.Image object. Use the ChangeToImage method to obtain a GDI+ System.Drawing.Image object that shares its data with this Leadtools.RasterImage object.
Use TestCompatible to determine if the image is compatible for conversion to a GDI+ image.
To convert a GDI+ image to a LEADTOOLS Leadtools.RasterImage, use ConvertFromImage.
For a Leadtools.RasterImage to be compatible with a GDI+ image it needs the following:
For more information, refer to Using The PaintEngine Property and RasterImage and GDI/GDI+.
This example converts between a Leadtools.RasterImage and a GDI+ image.
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";
}