Error processing SSI file
LEADTOOLS Image File Support (Leadtools.Codecs assembly)

Show in webframe

LoadSvgAsyncCompleted Event








Indicates that an asynchronous load SVG operation has been completed.
Syntax
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
Event Data

The event handler receives an argument of type CodecsLoadSvgAsyncCompletedEventArgs containing data related to this event. The following CodecsLoadSvgAsyncCompletedEventArgs properties provide information specific to this event.

PropertyDescription
Cancelled (Inherited from System.ComponentModel.AsyncCompletedEventArgs)Gets a value indicating whether an asynchronous operation has been canceled.
Document Gets the ISvgDocument object being loaded.
Error (Inherited from System.ComponentModel.AsyncCompletedEventArgs)Gets a value indicating which error occurred during an asynchronous operation.
FileName (Inherited from Leadtools.Codecs.CodecsAsyncCompletedEventArgs)Gets the file name this asynchronous operation is using.
Stream (Inherited from Leadtools.Codecs.CodecsAsyncCompletedEventArgs)Gets the stream this asynchronous operation is using.
Uri (Inherited from Leadtools.Codecs.CodecsAsyncCompletedEventArgs)Gets the URI this asynchronous operation is using.
UserState (Inherited from System.ComponentModel.AsyncCompletedEventArgs)Gets the unique identifier for the asynchronous task.
Remarks

The RasterCodecs class supports loading SVG from image files asynchronously using the LoadSvgAsync methods. When calling any of these methods, the caller thread will not be blocked and the method will return instantly.

When the RasterCodecs object finishes loading the SVG, the LoadSvgAsyncCompleted event will occur when the operation is finished (or when an error occur).

The LoadSvgAsyncCompleted event uses a data argument object of type CodecsLoadSvgAsyncCompletedEventArgs. This class contains the following properties:

Property Description
CodecsLoadSvgAsyncCompletedEventArgs.Uri, CodecsLoadSvgAsyncCompletedEventArgs.Stream and CodecsLoadSvgAsyncCompletedEventArgs.FileName

Contains the URI, stream or file name passed to the method that initialized this asynchronous operation.

Only one of these properties can be a valid value (not a null reference) at any time The property that contains a valid reference depends on what version of LoadSvgAsync method has been called.

For example, if LoadSvgAsync(Uri uri, int pageNumber, CodecsLoadSvgOptions options, object userState) is being called, the Uri will contain the same URI passed to the method while Stream and FileName will both be null. If LoadSvgAsync(String fileName, int pageNumber, CodecsLoadSvgOptions options, object userState) is being called, the FileName will contain the same file name string value passed to the method while Uri and Stream will both be null and so on.

CodecsLoadSvgAsyncCompletedEventArgs.Document

Contains the ISvgDocument instance that contains the SVG data of the page being loaded. When the asynchronous operation completes, the LoadSvgAsyncCompleted event will fire and Document will contain the final and ready to use SVG object. If an error occurs, this property will be set to null and the object is disposed internally by the toolkit.

CodecsLoadSvgAsyncCompletedEventArgs.Error

Contains any errors that might have occurred during the asynchronous operation. You must check this value when the LoadSvgAsyncCompleted event fires and make sure it does not contain a valid Exception object.

CodecsLoadSvgAsyncCompletedEventArgs.Cancelled

Contains a value indicating whether an asynchronous operation has been canceled. For example, by calling CancelAsync when using RasterCodecs.LoadSvgAsync with a URL.

For more information, refer to Working With SVG.

Example

This example will load a page from a URL as SVG:

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);
}
Requirements

Target Platforms

See Also

Reference

RasterCodecs Class
RasterCodecs Members
Leadtools.ISvgDocument
Working With SVG
SVG Size, Bounds and Flat
SVG Rendering

Error processing SSI file