←Select platform

CanConvertFrom Method

Summary
Determines whether the converter can convert an object of the given type to an instance of RasterImage.
Syntax
C#
C++/CLI
Python
public override bool CanConvertFrom( 
   ITypeDescriptorContext context, 
   Type sourceType 
) 
public: 
bool CanConvertFrom(  
   ITypeDescriptorContext^ context, 
   Type^ sourceType 
) override  
def CanConvertFrom(self,context,sourceType): 

Parameters

context
Type context information used to evaluate conversion.

sourceType
The type of the source that is being evaluated for conversion.

Return Value

true if the converter can convert the provided type to an instance of RasterImage; otherwise, false.

Remarks

The CanConvertFrom method will return true if any of the supported object types is passed into the  sourceType parameter. However, this does not mean that the conversion operation will succeed, this depends on whether the data contains a valid image that LEADTOOLS can load. For more information, refer to RasterImageTypeConverter.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
 
using Leadtools.ImageProcessing.Core; 
 
public void RasterImageTypeConverterExample() 
{ 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"); 
 
   // Construct the source URL to use the source file and load the image 
   Uri uri = new Uri(srcFileName); 
 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Create a new instance of the RasterImageTypeConverter class 
   RasterImageTypeConverter rasterImageConverter = new RasterImageTypeConverter(codecs); 
 
   // We should be able to convert from a URL 
   Debug.Assert(rasterImageConverter.CanConvertFrom(uri.GetType())); 
 
   // Convert the image 
 
   // The return value from RasterImageTypeConverter.ConvertFrom might be an image that is 
   // still loading. So, we must subscribe to the RasterCodecs.LoadAsyncCompleteted 
   // event to obtain the finished image 
   codecs.LoadAsyncCompleted += new EventHandler<CodecsLoadAsyncCompletedEventArgs>(rasterImageTypeConverterExample_LoadAsyncCompleted); 
   object rasterImageObject = rasterImageConverter.ConvertFrom(uri); 
 
   // Notice that the returned rasterImageObject is a RasterImage with IsLoading set to true at this point 
   // The IsLoading will be false (and hence, the object will be usable) when the LoadAsyncCompleteted 
   // fires. 
} 
 
private void rasterImageTypeConverterExample_LoadAsyncCompleted(object sender, CodecsLoadAsyncCompletedEventArgs e) 
{ 
   // Check if the user canceled or if we have errors 
   if (e.Cancelled) 
   { 
      Debug.WriteLine("Canceled by the user"); 
   } 
   else if (e.Error != null) 
   { 
      Debug.WriteLine("Error: " + e.Error.Message); 
   } 
   else 
   { 
      // Everything is OK, get the image 
      RasterImage image = e.Image; 
 
      Debug.WriteLine("Image at {0} loaded OK, size: {1} by {2}", e.Uri, image.Width, image.Height); 
 
      image.Dispose(); 
   } 
 
   // Unsubscribe to the event and dispose the RasterCodecs object 
   RasterCodecs codecs = sender as RasterCodecs; 
   codecs.LoadAsyncCompleted -= new EventHandler<CodecsLoadAsyncCompletedEventArgs>(rasterImageTypeConverterExample_LoadAsyncCompleted); 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Codecs Assembly

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