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

フレームを表示

LoadAsync(String、Object)メソッド








ロードする画像ファイルの名前を格納しているString
非同期操作の完了時に呼び出されるメソッドに渡されるユーザー定義オブジェクト。
非同期で省略時のオプションを用いて指定された画像ファイルをロードします。
構文
public RasterImage LoadAsync( 
   string fileName,
   object userState
)
'Declaration
 
Public Overloads Function LoadAsync( _
   ByVal fileName As String, _
   ByVal userState As Object _
) As RasterImage
'Usage
 
Dim instance As RasterCodecs
Dim fileName As String
Dim userState As Object
Dim value As RasterImage
 
value = instance.LoadAsync(fileName, userState)
public RasterImage LoadAsync( 
   string fileName,
   object userState
)
- (void)loadFileAsync:(NSString *)file 
           completion:(void (^)(LTRasterImage * __nullable image, NSError * __nullable error))completion
            
 function Leadtools.Codecs.RasterCodecs.LoadAsync(String,Object)( 
   fileName ,
   userState 
)

パラメーター

fileName
ロードする画像ファイルの名前を格納しているString
userState
非同期操作の完了時に呼び出されるメソッドに渡されるユーザー定義オブジェクト。

戻り値

このメソッドがロードするRasterImageオブジェクト。これの使用法オブジェクトを意見を参照します。
解説

ファイルは、圧縮または未圧縮の、サポートされている任意の画像形式とビット数です。

このメソッドは、マルチページファイルにおけるすべてのページをロードします。それがファイルで保存されたので、結果として生じるimageはimageの同じビット/ピクセルとカラーオーダー値を持っています。

LEADTOOLSは破損したファイルをロードしようとするので、少なくとも一部のimageを参照することができます。こうした画像の場合、ロードメソッドは成功しますが、LoadStatusはエラーコードを返します。

このメソッドを呼び出す前にそのほかのロードオプションパラメーターをセットアップするにはCodecsLoadOptionsクラスを使用します。

12と16ビットグレースケールイメージのサポートは、Document/Medicalイメージングエディションのみで利用できます。

サポートされている形式については、「利用可能な画像ファイル形式一連」を参照してください。

ファイルの保存時に使用した圧縮やカラースペースとは関係なく、すべてのPDFファイルをラスターPDFの未圧縮RasterImageFormat.RasPdfとしてロードします。

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

RasterCodecsオブジェクトがimageをロードするを完了するとき、RasterImageのいろいろなプロパティは画像情報で値を入力されます、そして、データとRasterImage.IsLoadingプロパティはfalseに設定されます。

画像のロードが完了したかどうかを判断するためにRasterImage.IsLoadingプロパティをポーリングすることは避けてください。代わりに、通知を取得するために、LoadAsyncCompletedイベントに、LoadAsync操作が完了したとき、そして、任意のエラーが発生したかどうかにかかわらず、サブスクライブします。

LoadAsyncCompletedイベントデータにはLoadAsyncから返されたものと同じオブジェクトも含まれます。このためアプリケーション内にオリジナルのオブジェクトを保持しておく必要はありません。

CodecsLoadOptions.AllPagesプロパティは、画像データが複数ページを格納するならば、RasterCodecsがすべてのページかまさにその最初のページをロードしようとするかどうか制御します。単一のページをロードするために、LoadAsync(string fileName、int pageNumber、オブジェクトuserState)を使います。

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

      
Public Sub LoadAsyncFile1Example()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim codecs As New RasterCodecs()

   ' Now load the image asynchronously
   AddHandler codecs.LoadAsyncCompleted, AddressOf LoadAsyncFile1Example_LoadAsyncCompleted
   Dim rasterImageObject As Object = codecs.LoadAsync(srcFileName, Nothing)

   ' 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.
End Sub

Private Sub LoadAsyncFile1Example_LoadAsyncCompleted(ByVal sender As Object, ByVal e As CodecsLoadAsyncCompletedEventArgs)
   If e.Cancelled Then
      Console.WriteLine("User canceled")
   ElseIf Not IsNothing(e.Error) Then
      Console.WriteLine("Error: " + e.Error.Message)
   Else
      ' Everything is OK, get the image
      Dim image As RasterImage = e.Image
      Console.WriteLine("Image at {0} loaded OK, size: {1} by {2}", e.FileName, image.Width, image.Height)
      image.Dispose()
   End If

   ' Unsubscribe to the event and dispose the RasterCodecs object
   Dim codecs As RasterCodecs = DirectCast(sender, RasterCodecs)
   RemoveHandler codecs.LoadAsyncCompleted, AddressOf LoadAsyncFile1Example_LoadAsyncCompleted
   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 LoadAsyncFile1Example()
{
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
   RasterCodecs codecs = new RasterCodecs();

   // Now load the image asynchronously
   codecs.LoadAsyncCompleted += new EventHandler<CodecsLoadAsyncCompletedEventArgs>(LoadAsyncFile1Example_LoadAsyncCompleted);
   object rasterImageObject = codecs.LoadAsync(srcFileName, null);

   // 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 LoadAsyncFile1Example_LoadAsyncCompleted(object sender, CodecsLoadAsyncCompletedEventArgs e)
{
   if (e.Cancelled)
   {
      Console.WriteLine("User canceled");
   }
   else if (e.Error != null)
   {
      Console.WriteLine("Error: " + e.Error.Message);
   }
   else
   {
      // Everything is OK, get the image
      RasterImage image = e.Image;
      Console.WriteLine("Image at {0} loaded OK, size: {1} by {2}", e.FileName, 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>(LoadAsyncFile1Example_LoadAsyncCompleted);
   codecs.Dispose();
}

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

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

参照

参照

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