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

フレームを表示

CancelAsyncメソッド








保留の非同期動作をキャンセルします。
構文
public void CancelAsync()
'Declaration
 
Public Sub CancelAsync() 
'Usage
 
Dim instance As RasterCodecs
 
instance.CancelAsync()
public void CancelAsync()
public void cancelAsync(Object operation)
 function Leadtools.Codecs.RasterCodecs.CancelAsync()
public:
void CancelAsync(); 
解説

RasterCodecsオブジェクトは、情報を取得して、GetInformationAsyncLoadAsyncLoadSvgAsyncメソッドを用いることにより非同期で画像ファイルをロードすることをサポートします。

一度にRasterCodecsオブジェクトにつき1つの非同期動作を呼び出すことができます。RasterCodecsオブジェクトが1つ前の非同期動作でビジーかどうか決定するために、IsAsyncBusyプロパティを使います。これは、AsyncWebClientWebClient.IsBusyプロパティ相当です。

このRasterCodecsで任意の現在の非同期動作をキャンセルするために、CancelAsyncメソッドを使うこともできますオブジェクト。これは、AsyncWebClientの上でWebClient.CancelAsyncを呼び出すこと相当です。

Note:GetInformationAsyncLoadAsyncまたはLoadSvgAsyncウーリパラメーターをとるバージョンとともにあったとき、UseAsyncAsyncWebClientIsAsyncBusyCancelAsyncは適用できるだけです。StringまたはStreamをとるバージョンは、内部的にWebClientオブジェクトを使いません。進捗を確認するか、操作をキャンセルしたいならば、いつものようにLoadImageイベントを使います。

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

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

   ' Now Load the file asynchronously
   AddHandler codecs.LoadAsyncCompleted, AddressOf cancelAsyncExample_LoadAsyncCompleted
   Dim image As RasterImage = codecs.LoadAsync(uri, Nothing)

   ' Cancel it immediatly, in normal situation, the cancelation will happen
   ' before the LoadAsync method has a chance to load the file and
   ' the message "User canceled" will be displayed on the console
   If codecs.IsAsyncBusy Then
      codecs.CancelAsync()
   End If
End Sub

Private Sub cancelAsyncExample_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
      ' Get the image
      Dim image As RasterImage = e.Image
      Console.WriteLine("Image loaded asynchronously: Size = {0} by {1}", 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 cancelAsyncExample_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 CancelAsyncExample()
{
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
   Uri uri = new Uri(srcFileName);
   RasterCodecs codecs = new RasterCodecs();

   // Now Load the file asynchronously
   codecs.LoadAsyncCompleted += new EventHandler<CodecsLoadAsyncCompletedEventArgs>(cancelAsyncExample_LoadAsyncCompleted);
   RasterImage image = codecs.LoadAsync(uri, null);

   // Cancel it immediatly, in normal situation, the cancelation will happen
   // before the LoadAsync method has a chance to load the file and
   // the message "User canceled" will be displayed on the console
   if (codecs.IsAsyncBusy)
   {
      codecs.CancelAsync();
   }
}

private void cancelAsyncExample_LoadAsyncCompleted(object sender, CodecsLoadAsyncCompletedEventArgs e)
{
   if (e.Cancelled)
   {
      Console.WriteLine("User canceled");
   }
   else if (e.Error != null)
   {
      Console.WriteLine("Error: " + e.Error.Message);
   }
   else
   {
      // Get the image
      RasterImage image = e.Image;
      Console.WriteLine("Image loaded asynchronously: Size = {0} by {1}", 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>(cancelAsyncExample_LoadAsyncCompleted);
   codecs.Dispose();
}

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

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

参照

参照

RasterCodecsクラス
RasterCodecsメンバ