![]() |
Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.22
|
Leadtools.Svg Assembly > Leadtools.Svg Namespace > SvgDocument Class : SvgDocument Constructor |
protected SvgDocument( SerializationInfo info, StreamingContext context )
'Declaration
Protected Function New( _ ByVal info As SerializationInfo, _ ByVal context As StreamingContext _ )
'Usage
Dim info As SerializationInfo Dim context As StreamingContext Dim instance As New SvgDocument(info, context)
protected: SvgDocument( SerializationInfo^ info, StreamingContext context )
The SvgDocument class supports standard .NET serialization. Serialization of a SvgDocument is the process of converting the state of a Leadtools.RasterImage object into a form that can be persisted or transported. The complement of serialization is deserialization, which converts a stream into an Leadtools.RasterImage object. Together, these processes allow the image data to be easily stored and transferred.
When you serialize a SvgDocument object, all the data inside the object is saved. The SvgDocument can be reconstructed back to its original state from the stream.
This example will show how to serialize and deserialize a SVG document.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Drawing Imports Leadtools.Forms.DocumentWriters Imports Leadtools.Svg Public Shared Sub SvgDocumentSerializationExample() Dim document As SvgDocument = Nothing ' Load a page from a document file as SVG Dim srcFileName As String = Path.Combine(Common.ImagesPath.Path, "Leadtools.pdf") Using codecs As New RasterCodecs() ' Set 300 as the default value for loading document files codecs.Options.RasterizeDocument.Load.Resolution = 300 document = DirectCast(codecs.LoadSvg(srcFileName, 1, Nothing), SvgDocument) End Using ' Prepare it If Not document.IsFlat Then document.Flat(Nothing) End If If Not document.Bounds.IsValid Then document.CalculateBounds(False) End If ' Show its properties Console.WriteLine("Before serialization") Console.WriteLine("Bounds: " + document.Bounds.Bounds.ToString()) Console.WriteLine("Resolution: " + document.Bounds.Resolution.ToString()) ' Serialize (save) it to a stream Dim stream As New MemoryStream() Dim formatter As New BinaryFormatter() formatter.Serialize(stream, document) stream.Position = 0 ' Get rid of the document document.Dispose() ' Now de-serailize (load) it back from the stream and show its properties document = DirectCast(formatter.Deserialize(stream), SvgDocument) Console.WriteLine("After de-serialization") Console.WriteLine("Bounds: " + document.Bounds.Bounds.ToString()) Console.WriteLine("Resolution: " + document.Bounds.Resolution.ToString()) document.Dispose() End Sub
using Leadtools; using Leadtools.Codecs; using Leadtools.Drawing; using Leadtools.Forms.DocumentWriters; using Leadtools.Svg; public void SvgDocumentSerializationExample() { SvgDocument document = null; // Load a page from a document file as SVG string srcFileName = Path.Combine(ImagesPath.Path, "Leadtools.pdf"); using (var codecs = new RasterCodecs()) { // Set 300 as the default value for loading document files codecs.Options.RasterizeDocument.Load.Resolution = 300; document = codecs.LoadSvg(srcFileName, 1, null) as SvgDocument; } // Prepare it if (!document.IsFlat) document.Flat(null); if (!document.Bounds.IsValid) document.CalculateBounds(false); // Show its properties Console.WriteLine("Before serialization"); Console.WriteLine("Bounds: " + document.Bounds.Bounds); Console.WriteLine("Resolution: " + document.Bounds.Resolution); // Serialize (save) it to a stream var stream = new MemoryStream(); var formatter = new BinaryFormatter(); formatter.Serialize(stream, document); stream.Position = 0; // Get rid of the document document.Dispose(); // Now de-serailize (load) it back from the stream and show its properties document = formatter.Deserialize(stream) as SvgDocument; Console.WriteLine("After de-serialization"); Console.WriteLine("Bounds: " + document.Bounds.Bounds); Console.WriteLine("Resolution: " + document.Bounds.Resolution); document.Dispose(); }