LEADTOOLS WPF and Silverlight (Leadtools.Windows.Media assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
ConvertFromSource Method
See Also 
Leadtools.Windows.Media Namespace > RasterImageConverter Class : ConvertFromSource Method



image
The System.Windows.Media.ImageSource object containing the image data to convert.
options
Options to control the conversion operation. Currently there are no extra options and the value of this parameter must be set to ConvertFromSourceOptions.None
image
The System.Windows.Media.ImageSource object containing the image data to convert.
options
Options to control the conversion operation. Currently there are no extra options and the value of this parameter must be set to ConvertFromSourceOptions.None
Converts a WPF/Silverlight System.Windows.Media.ImageSource object to LEADTOOLS Leadtools.RasterImage. Supported in Silverlight, Windows Phone 7

Syntax

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

Parameters

image
The System.Windows.Media.ImageSource object containing the image data to convert.
options
Options to control the conversion operation. Currently there are no extra options and the value of this parameter must be set to ConvertFromSourceOptions.None

Return Value

A Leadtools.RasterImage object representing the converted image.

Example

This example will use get the WPF/Silverlight System.Windows.Media.ImageSource in an System.Windows.Controls.Image control, use LEADTOOLS to invert it and then set it back into the control.

Visual BasicCopy Code
Private Sub ConvertFromSourceExample(ByVal imageControl As System.Windows.Controls.Image)
   ' Get the WPF/Silverlight source image in the Image control
   Dim source As ImageSource = imageControl.Source
   ' Convert it to a LEADTOOLS RasterImage
   Using rasterImage As RasterImage = RasterImageConverter.ConvertFromSource(source, ConvertFromSourceOptions.None)
      ' Now, use LEADTOOLS to Invert the image
      Dim cmd As New InvertCommand()
      cmd.Run(rasterImage)

      ' Convert the back to WPF/Silverlight
      source = RasterImageConverter.ConvertToSource(rasterImage, ConvertToSourceOptions.None)

      ' Set it back into the Image control
      imageControl.Source = source
   End Using
End Sub
C#Copy Code
private void ConvertFromSourceExample(System.Windows.Controls.Image imageControl)
{
   // Get the WPF/Silverlight source image in the Image control
   ImageSource source = imageControl.Source;
   // Convert it to a LEADTOOLS RasterImage
   using(RasterImage rasterImage = RasterImageConverter.ConvertFromSource(source, ConvertFromSourceOptions.None))
   {
      // Now, use LEADTOOLS to Invert the image
      Leadtools.ImageProcessing.Color.InvertCommand cmd = new Leadtools.ImageProcessing.Color.InvertCommand();
      cmd.Run(rasterImage);

      // Convert the back to WPF/Silverlight
      source = RasterImageConverter.ConvertToSource(rasterImage, ConvertToSourceOptions.None);

      // Set it back into the Image control
      imageControl.Source = source;
   }
}
SilverlightCSharpCopy Code
private void ConvertFromSourceExample(System.Windows.Controls.Image imageControl)
{
   // Get the WPF/Silverlight source image in the Image control
   ImageSource source = imageControl.Source;
   // Convert it to a LEADTOOLS RasterImage
   using(RasterImage rasterImage = RasterImageConverter.ConvertFromSource(source, ConvertFromSourceOptions.None))
   {
      // Now, use LEADTOOLS to Invert the image
      Leadtools.ImageProcessing.Color.InvertCommand cmd = new Leadtools.ImageProcessing.Color.InvertCommand();
      cmd.Run(rasterImage);

      // Convert the back to WPF/Silverlight
      source = RasterImageConverter.ConvertToSource(rasterImage, ConvertToSourceOptions.None);

      // Set it back into the Image control
      imageControl.Source = source;
   }
}
SilverlightVBCopy Code
Private Sub ConvertFromSourceExample(ByVal imageControl As System.Windows.Controls.Image)
   ' Get the WPF/Silverlight source image in the Image control
   Dim source As ImageSource = imageControl.Source
   ' Convert it to a LEADTOOLS RasterImage
   Using rasterImage As RasterImage = RasterImageConverter.ConvertFromSource(source, ConvertFromSourceOptions.None)
      ' Now, use LEADTOOLS to Invert the image
      Dim cmd As InvertCommand = New InvertCommand()
      cmd.Run(rasterImage)

      ' Convert the back to WPF/Silverlight
      source = RasterImageConverter.ConvertToSource(rasterImage, ConvertToSourceOptions.None)

      ' Set it back into the Image control
      imageControl.Source = source
   End Using
End Sub

Remarks

Microsoft Windows Presentation Foundations (WPF)

LEADTOOLS and WPF support different pixel formats. These pixel formats may not be identical in some cases. The conversion process takes care of converting scanlines to a suitable format that best matches the source data. The following table shows the result bits/pixel byte order achieved when passing images with different pixel format values:

Source PixelFormat Result Bits/Pixel and byte order
System.Windows.Media.PixelFormats.Bgr101010 24 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Bgr24 24 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Bgr32 32 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Bgr555 16 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Bgr565 24 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.BlackWhite 1 bits/pixel and RasterByteOrder.Rgb with a black on white palette
System.Windows.Media.PixelFormats.Cmyk32 24 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Gray16 16 bits/pixel and RasterByteOrder.Gray
System.Windows.Media.PixelFormats.Gray2 2 bits/pixel and RasterByteOrder.Rgb with a palette containing 2 shades of gray
System.Windows.Media.PixelFormats.Gray32Float 24 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Gray4 4 bits/pixel and RasterByteOrder.Rgb with a palette containing 16 shades of gray
System.Windows.Media.PixelFormats.Gray8 8 bits/pixel and RasterByteOrder.Rgb with a palette containing 256 shades of gray
System.Windows.Media.PixelFormats.Indexed1 1 bits/pixel and RasterByteOrder.Rgb with corresponding palette
System.Windows.Media.PixelFormats.Indexed2 2 bits/pixel and RasterByteOrder.Rgb with corresponding palette
System.Windows.Media.PixelFormats.Indexed4 4 bits/pixel and RasterByteOrder.Rgb with corresponding palette
System.Windows.Media.PixelFormats.Indexed8 8 bits/pixel and RasterByteOrder.Rgb with corresponding palette
System.Windows.Media.PixelFormats.Pbgra32 32 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Prgba128Float 24 bits/pixel and RasterByteOrder.Bgr
System.Windows.Media.PixelFormats.Rgb24 24 bits/pixel and RasterByteOrder.Rgb
System.Windows.Media.PixelFormats.Rgb48 48 bits/pixel and RasterByteOrder.Rgb
System.Windows.Media.PixelFormats.Rgb128Float 24 bits/pixel and RasterByteOrder.Rgb
System.Windows.Media.PixelFormats.Rgba64 64 bits/pixel and RasterByteOrder.Rgb

Microsoft Silverlight

Microsoft Silverlight currently offers support for 32-bits/pixels only. So the result from this method will always be a Leadtools.RasterImage object with RasterImage.BitsPerPixel equals to 32.

Use the ConvertToSource method to convert LEADTOOLS Leadtools.RasterImage to a WPF/Silverlight System.Windows.Media.ImageSource object.

The conversion works by copying the image data over to the new destination. Currently, there is no support for sharing memory between a Leadtools.RasterImage and an System.Windows.Media.ImageSource.

For more information refer to RasterImage and WPF/Silverlight.

Requirements

Target Platforms: Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also