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

フレームを表示

LoadSvgAsyncCompletedイベント








非同期ロードSVG操作が完了されたことを示します。
構文
public event EventHandler<CodecsLoadSvgAsyncCompletedEventArgs> LoadSvgAsyncCompleted
'Declaration
 
Public Event LoadSvgAsyncCompleted As EventHandler(Of CodecsLoadSvgAsyncCompletedEventArgs)
'Usage
 
Dim instance As RasterCodecs
Dim handler As EventHandler(Of CodecsLoadSvgAsyncCompletedEventArgs)
 
AddHandler instance.LoadSvgAsyncCompleted, handler
public event EventHandler<CodecsLoadSvgAsyncCompletedEventArgs> LoadSvgAsyncCompleted
synchronized public void addLoadSvgAsyncCompletedListener(CodecsLoadSvgAsyncCompletedListener listener)
synchronized public void removeLoadSvgAsyncCompletedListener(CodecsLoadSvgAsyncCompletedListener listener)
            
add_LoadSvgAsyncCompleted(function(sender, e))
remove_LoadSvgAsyncCompleted(function(sender, e))

public:
event EventHandler<CodecsLoadSvgAsyncCompletedEventArgs^>^ LoadSvgAsyncCompleted
イベントデータ

イベントハンドラは、このイベントに関連するデータを格納するタイプCodecsLoadSvgAsyncCompletedEventArgsの引数を受け取ります。以下のCodecsLoadSvgAsyncCompletedEventArgsプロパティは、このイベントに特有の情報を提供します。

プロパティ説明
Cancelled (Inherited from System.ComponentModel.AsyncCompletedEventArgs)非同期動作がキャンセルされたかどうか示している値を取得します。
Document ロードされているISvgDocumentオブジェクトを取得します。
Error (Inherited from System.ComponentModel.AsyncCompletedEventArgs)どのエラーが非同期動作の間、発生したかについて示している値を取得します。
FileName (Inherited from Leadtools.Codecs.CodecsAsyncCompletedEventArgs)この非同期動作が使用しているファイル名を取得します。
Stream (Inherited from Leadtools.Codecs.CodecsAsyncCompletedEventArgs)この非同期動作が使っているストリームを取得します。
Uri (Inherited from Leadtools.Codecs.CodecsAsyncCompletedEventArgs)この非同期動作が使っているURIを取得します。
UserState (Inherited from System.ComponentModel.AsyncCompletedEventArgs)非同期タスクの固有識別子を取得します。
解説

RasterCodecsクラスは、LoadSvgAsyncメソッドを用いて非同期で画像ファイルからロードSVGをサポートします。これらのメソッドのどれでも呼び出すとき、呼び出し元スレッドは妨げられません、そして、メソッドはすぐに返ります。

RasterCodecsオブジェクトがSVGをロードするを完了するとき、操作が終わる(またはエラーが発生する時)とき、LoadSvgAsyncCompletedイベントは発生します。

LoadSvgAsyncCompletedイベントは、型CodecsLoadSvgAsyncCompletedEventArgsのデータ引数オブジェクトを使います。このクラスは、以下のプロパティを格納します:

プロパティ 説明
CodecsLoadSvgAsyncCompletedEventArgs.UriCodecsLoadSvgAsyncCompletedEventArgs.StreamCodecsLoadSvgAsyncCompletedEventArgs.FileName

この非同期動作を初期化したメソッドに渡されるURI、ストリームまたはファイル名を格納します。

常に、これらのプロパティのいずれか1つのみが有効な値(null参照ではない値)になります。どのプロパティに有効な参照が含まれるかは、どのバージョンのLoadSvgAsyncメソッドが呼び出されたかによって決まります。

たとえばLoadSvgAsync(ウーリuri、int pageNumber、CodecsLoadSvgOptionsオプション、オブジェクトuserState)が呼び出されている場合、Uriにはメソッドに渡されるものと同じURIが含まれ、StreamFileNameはどちらもNULLになります。LoadSvgAsync(String fileName、int pageNumber、CodecsLoadSvgOptionsオプション、オブジェクトuserState)が呼び出されている場合、FileNameにはメソッドに渡されるものと同じファイル名の文字列値が含まれ、ウーリStreamはどちらもNULLになる、等です。

CodecsLoadSvgAsyncCompletedEventArgs.Document

ロードされているページのSVGデータを格納するISvgDocumentインスタンスを格納します。操作が完了する非同期、イベントが発生するLoadSvgAsyncCompletedとドキュメントがいつ最終的ですぐに使えるSVGを格納するかオブジェクト。エラーが発生するならば、このプロパティはnullに設定されます、そして、オブジェクトはツールキットで内部的に破棄されます。

CodecsLoadSvgAsyncCompletedEventArgs.Error

非同期動作の間、発生したかもしれない任意のエラーを格納します。LoadSvgAsyncCompletedイベントが発生するこの値を確認しなければならなくて、それが有効な例外を格納しないことを確認しなければなりませんオブジェクト。

CodecsLoadSvgAsyncCompletedEventArgs.Cancelled

非同期動作がキャンセルされたかどうか示している値を格納します。たとえば、URLでRasterCodecs.LoadSvgAsyncを使うとき、CancelAsyncを呼び出すことによって。

詳細については、「SVGの操作」を参照してください。

サンプル

このサンプルは、SVGとしてURLからページをロードします:

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

Public Shared Sub LoadSvgAsyncExample()
   ' Address of a document thats supports loading as SVG, for example, a DOCX file
   Dim address As String = "http://localhost/images/examples/leadtools.docx"
   Dim loadSvgAsyncCompleted As EventHandler(Of CodecsLoadSvgAsyncCompletedEventArgs) = Nothing

   loadSvgAsyncCompleted = _
      Sub(sender As Object, e As CodecsLoadSvgAsyncCompletedEventArgs)
         Dim thisCodecs As RasterCodecs = DirectCast(sender, RasterCodecs)
         ' Remove the handler
         RemoveHandler thisCodecs.LoadSvgAsyncCompleted, loadSvgAsyncCompleted

         Console.WriteLine("Loading from {0} is done", e.Uri)
         Dim svgDocument As SvgDocument = DirectCast(e.Document, SvgDocument)

         If Not IsNothing(svgDocument) Then
            ' Show its size
            If Not svgDocument.Bounds.IsValid Then
               svgDocument.CalculateBounds(False)
            End If

            Console.WriteLine("Bounds: {0}", svgDocument.Bounds.Bounds)
            svgDocument.Dispose()
         ElseIf Not IsError(e.Error) Then
            ' Error
            Console.WriteLine(e.Error.Message)
         End If

         ' Clean up
         thisCodecs.Dispose()
      End Sub

   Dim codecs As New RasterCodecs()

   ' Set 300 as the default value for loading document files
   codecs.Options.RasterizeDocument.Load.Resolution = 300

   AddHandler codecs.LoadSvgAsyncCompleted, loadSvgAsyncCompleted
   codecs.LoadSvgAsync(New Uri(address), 1, Nothing, Nothing)
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;

public static void LoadSvgAsyncExample()
{
   // Address of a document thats supports loading as SVG, for example, a DOCX file
   string address = @"http://localhost/images/examples/leadtools.docx";
   EventHandler<CodecsLoadSvgAsyncCompletedEventArgs> loadSvgAsyncCompleted = null;

   loadSvgAsyncCompleted = (sender, e) =>
   {
      var thisCodecs = sender as RasterCodecs;
      // Remove the handler
      thisCodecs.LoadSvgAsyncCompleted -= loadSvgAsyncCompleted;

      Console.WriteLine("Loading from {0} is done", e.Uri);
      SvgDocument svgDocument = e.Document as SvgDocument;

      if (svgDocument != null)
      {
         // Show its size
         if (!svgDocument.Bounds.IsValid)
            svgDocument.CalculateBounds(false);

         Console.WriteLine("Bounds: {0}", svgDocument.Bounds.Bounds);
         svgDocument.Dispose();
      }
      else if (e.Error != null)
      {
         // Error
         Console.WriteLine(e.Error.Message);
      }

      // Clean up
      thisCodecs.Dispose();
   };

   var codecs = new RasterCodecs();

   // Set 300 as the default value for loading document files
   codecs.Options.RasterizeDocument.Load.Resolution = 300;

   codecs.LoadSvgAsyncCompleted += loadSvgAsyncCompleted;
   codecs.LoadSvgAsync(new Uri(address), 1, null, null);
}
必要条件

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

参照

参照

RasterCodecsクラス
RasterCodecsメンバ
Leadtools.ISvgDocument
SVGの操作
SVGのサイズ、領域およびフラット
SVGのレンダリング