LEADTOOLS Image File Support (Leadtools.Codecs assembly)

GetInformationAsync(ILeadStream,Boolean,Int32) Method

Show in webframe
Example 







Leadtools.ILeadStream containing the input file to query.
true to query the file for total number of pages; false, otherwise.
The page number to query. Pass 1 for the first page (default).
Gets the image information from a disk file asynchronously.
Syntax
public IAsyncOperation<CodecsImageInfo> GetInformationAsync( 
   ILeadStream stream,
   bool totalPages,
   int pageNumber
)
'Declaration
 
Public Overloads Function GetInformationAsync( _
   ByVal stream As ILeadStream, _
   ByVal totalPages As Boolean, _
   ByVal pageNumber As Integer _
) As IAsyncOperation(Of CodecsImageInfo)
'Usage
 
Dim instance As RasterCodecs
Dim stream As ILeadStream
Dim totalPages As Boolean
Dim pageNumber As Integer
Dim value As IAsyncOperation(Of CodecsImageInfo)
 
value = instance.GetInformationAsync(stream, totalPages, pageNumber)
public IAsyncOperation<CodecsImageInfo> GetInformationAsync( 
   ILeadStream stream,
   bool totalPages,
   int pageNumber
)

            

            
 function Leadtools.Codecs.RasterCodecs.GetInformationAsync(ILeadStream,Boolean,Int32)( 
   stream ,
   totalPages ,
   pageNumber 
)
public:
IAsyncOperation<CodecsImageInfo^>^ GetInformationAsync( 
   ILeadStream^ stream,
   bool totalPages,
   int pageNumber
) 

Parameters

stream
Leadtools.ILeadStream containing the input file to query.
totalPages
true to query the file for total number of pages; false, otherwise.
pageNumber
The page number to query. Pass 1 for the first page (default).

Return Value

When this method completes, it returns the file information as a CodecsImageInfo.
Remarks

Specifying true for totalPages can cause the process to be slow if the file has a large number of pages.

The RasterCodecs class supports getting information on image files asynchronously using the GetInformationAsync methods. When calling any of these methods, the caller thread will not be blocked and the method will return instantly with an instance CodecsImageInfo that is in a loading status (CodecsImageInfo.IsLoading set to true). Do not use the other properties of this object while the object is in loading status.

When the RasterCodecs object finishes getting the information about the file, the various properties of the CodecsImageInfo will be populated with the image file information and the CodecsImageInfo.IsLoading property will be set to false.

It is best that you do not poll the CodecsImageInfo.IsLoading property to determine whether the image information has been collected. Instead, subscribe to the IAsyncOperation.Completed event to get notification on when the GetInformationAsync(String,Boolean,Int32,Object) operation is completed and whether any errors occurred.

When this method completes, it returns the file information as a CodecsImageInfo.

Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing

Public Sub GetInformationAsyncFileExample()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")

   Dim codecs As New RasterCodecs()

   ' Now get information about the file asynchronously
   AddHandler codecs.GetInformationAsyncCompleted, AddressOf GetInformationAsyncFileExample_GetInformationAsyncCompleted
   Dim imageInfoObject As Object = codecs.GetInformationAsync(srcFileName, True, 1, Nothing)

   ' Notice that the returned imageInfoObject is a CodecsImageInfo with IsLoading set to true at this point
   ' The IsLoading will be false (and hence, the object will be usable) when the GetInformationAsyncCompleted
   ' fires.
End Sub

Private Sub GetInformationAsyncFileExample_GetInformationAsyncCompleted(ByVal sender As Object, ByVal e As CodecsGetInformationAsyncCompletedEventArgs)
   If e.Cancelled Then
      Console.WriteLine("User canceled")
   ElseIf Not IsNothing(e.Error) Then
      Console.WriteLine("Error: " + e.Error.Message)
   Else
      ' Get the image info
      Dim info As CodecsImageInfo = DirectCast(e.Info, CodecsImageInfo)
      Console.WriteLine("Image info obtainted asynchronously:\n{0}", info.ToString())
      info.Dispose()
   End If

   ' Unsubscribe to the event and dispose the RasterCodecs object
   Dim codecs As RasterCodecs = DirectCast(sender, RasterCodecs)
   RemoveHandler codecs.GetInformationAsyncCompleted, AddressOf GetInformationAsyncFileExample_GetInformationAsyncCompleted
   codecs.Dispose()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;

public void GetInformationAsyncFileExample()
{
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");

   RasterCodecs codecs = new RasterCodecs();

   // Now get information about the file asynchronously
   codecs.GetInformationAsyncCompleted += new EventHandler<CodecsGetInformationAsyncCompletedEventArgs>(GetInformationAsyncFileExample_GetInformationAsyncCompleted);
   object imageInfoObject = codecs.GetInformationAsync(srcFileName, true, 1, null);

   // Notice that the returned imageInfoObject is a CodecsImageInfo with IsLoading set to true at this point
   // The IsLoading will be false (and hence, the object will be usable) when the GetInformationAsyncCompleted
   // fires.
}

private void GetInformationAsyncFileExample_GetInformationAsyncCompleted(object sender, CodecsGetInformationAsyncCompletedEventArgs e)
{
   if (e.Cancelled)
   {
      Console.WriteLine("User canceled");
   }
   else if (e.Error != null)
   {
      Console.WriteLine("Error: " + e.Error.Message);
   }
   else
   {
      // Get the image info
      CodecsImageInfo info = e.Info;
      Console.WriteLine("Image info obtainted asynchronously:\n{0}", info.ToString());
      info.Dispose();
   }

   // Unsubscribe to the event and dispose the RasterCodecs object
   RasterCodecs codecs = sender as RasterCodecs;
   codecs.GetInformationAsyncCompleted -= new EventHandler<CodecsGetInformationAsyncCompletedEventArgs>(GetInformationAsyncFileExample_GetInformationAsyncCompleted);
   codecs.Dispose();
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms

See Also

Reference

RasterCodecs Class
RasterCodecs Members
Overload List
Loading and Saving Large Tiff Files
Speeding Up 1-Bit Documents

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.