LEADTOOLS画像ファイルサポート(Leadtools.Codecsアセンブリ)

フレームを表示

GetInformationAsync(ILeadStream、Boolean、Int32)メソッド








問い合わせる入力ファイルを格納しているILeadStream
総頁数のためにファイルを問い合わせる場合はTrue;それ以外の場合はFalseです。
問い合わせるページ番号。(最初のページのためのパス1)デフォルト。
非同期でディスクファイルから画像情報を取得します。
構文
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
) 

パラメーター

ストリーム
問い合わせる入力ファイルを格納しているILeadStream
totalPages
総頁数のためにファイルを問い合わせる場合はTrue;それ以外の場合はFalseです。
pageNumber
問い合わせるページ番号。(最初のページのためのパス1)デフォルト。

戻り値

このメソッドが完了するとき、それはCodecsImageInfoとしてファイル情報を返します。
解説

totalPagesにtrueを指定すると、ファイルに多くのページが含まれている場合に処理が遅くなります。

RasterCodecsクラスは、GetInformationAsyncメソッドを使って画像ファイルに関する情報を非同期に取得するようサポートします。これらのいずれかのメソッドを呼び出すと、コーラースレッドはブロックされ、ロード状態にあるインスタンスCodecsImageInfoでただちに返されます(CodecsImageInfo.IsLoadingをtrueに設定)。オブジェクトがステータスをロードすることの中にある間、このオブジェクトの他のプロパティを使いません。

RasterCodecsオブジェクトでファイルに関する情報の取得が終わると、CodecsImageInfoの様々なプロパティには画像ファイル情報が入力され、CodecsImageInfo.IsLoadingプロパティはfalseに設定されます。

画像情報の収集が完了したかどうかを判断するためにCodecsImageInfo.IsLoadingプロパティをポーリングすることは推奨されません。そうではなく、GetInformationAsync操作がいつ完了するのか、エラーが発生したかどうかに関する情報を得るにはIAsyncOperation.Completedイベントにサブスクライブします。

このメソッドが完了するとき、それはCodecsImageInfoとしてファイル情報を返します。

サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg

      
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;
using Leadtools.Svg;

      
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";
}
必要条件

ターゲットプラットホーム

参照

参照

RasterCodecsクラス
RasterCodecsメンバ
オーバーロードリスト
大きなTIFF/BigTIFFファイルのロードと保存
1ビット画像処理の高速化