LEADTOOLS GDI/GDI+ (Leadtools.Drawing assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ConvertToImage Method
See Also 



image
The source image.
options
The conversion options.
image
The source image.
options
The conversion options.
Converts a LEADTOOLS Leadtools.RasterImage to a GDI+ System.Drawing.Image.

Syntax

Visual Basic (Declaration) 
Public Shared Function ConvertToImage( _
   ByVal image As RasterImage, _
   ByVal options As ConvertToImageOptions _
) As Image
Visual Basic (Usage)Copy Code
Dim image As RasterImage
Dim options As ConvertToImageOptions
Dim value As Image
 
value = RasterImageConverter.ConvertToImage(image, options)
C# 
public static Image ConvertToImage( 
   RasterImage image,
   ConvertToImageOptions options
)
C++/CLI 
public:
static Image^ ConvertToImage( 
   RasterImage^ image,
   ConvertToImageOptions options
) 

Parameters

image
The source image.
options
The conversion options.

Return Value

The GDI+ image this method creates

Example

This example converts between a Leadtools.RasterImage and a GDI+ image.

Visual BasicCopy Code
Public Sub ConvertToImageExample()
      Dim codecs As New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
      Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "GdiPlusImage.bmp")
      Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromGdiPlusImage.bmp")

      ' Load the image
      Using srcImage As RasterImage = codecs.Load(srcFileName)
         ' Convert to GDI+ image
         Dim reason As ImageIncompatibleReason = RasterImageConverter.TestCompatible(srcImage, True)
         Dim pf As PixelFormat = RasterImageConverter.GetNearestPixelFormat(srcImage)
         Console.WriteLine("TestCompatible: {0}", reason)
         Console.WriteLine("GetNearestPixelFormat:{0}", pf)

         If reason <> ImageIncompatibleReason.Compatible Then
            RasterImageConverter.MakeCompatible(srcImage, pf, True)
         End If

         Using destImage1 As Image = RasterImageConverter.ConvertToImage(srcImage, ConvertToImageOptions.None)
            ' Save this image to disk
            destImage1.Save(destFileName1, ImageFormat.Bmp)

            ' Convert the GDI+ image back to a RasterImage
            Using destImage2 As RasterImage = RasterImageConverter.ConvertFromImage(destImage1, ConvertFromImageOptions.None)
               ' Save it to disk
               codecs.Save(destImage2, destFileName2, RasterImageFormat.Bmp, 24)
            End Using
         End Using
      End Using

      ' Clean up
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
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:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

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 The RasterPaintEngine Property and 16bpp Grayscale Images. and Using The PaintEngine Property.

For more information refer to RasterImage and GDI/GDI+.

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also