←Select platform

Save(Stream,AnnContainer) Method

Summary

Saves the annotation objects to a stream.

Syntax

C#
VB
C++
public static void Save(  
   Stream stream, 
   Leadtools.Windows.Annotations.AnnContainer container 
) 
Public Overloads Shared Sub Save( _ 
   ByVal stream As Stream, _ 
   ByVal container As Leadtools.Windows.Annotations.AnnContainer _ 
) 
public: 
static void Save(  
   Stream^ stream, 
   Leadtools.Windows.Annotations.AnnContainer^ container 
) 

Parameters

stream
The stream to which to save the objects.

container
An AnnContainer containing the objects to be saved.

Remarks

This method will save the annotations to the stream using the AnnCodecsFormat.NativeXml format.

This method will not position the stream back to its original position before it returns. It is your responsibility to position the stream back before you can load objects from this stream.

For more information, refer to WPF Annotation Files.

Example

C#
VB
Silverlight C#
Silverlight VB
Imports Leadtools.Windows.Controls 
Imports Leadtools.Windows.Annotations 
 
Public Sub AnnCodecs_LoadSaveContainer() 
   ' create a new annotation container 
   Dim container As New AnnContainer() 
   ' add a few objects into the container 
 
   Dim rectObj As New AnnRectangleObject() 
   rectObj.Rect = New Rect(100, 100, 100, 100) 
   rectObj.Stroke = Colors.Blue 
   rectObj.Fill = Colors.Transparent 
   rectObj.StrokeThickness = 1.0 
   container.Children.Add(rectObj) 
 
   Dim lineObj As New AnnLineObject() 
   lineObj.Start = New Point(100, 100) 
   lineObj.End = New Point(200, 200) 
   lineObj.Stroke = Colors.Red 
   lineObj.StrokeThickness = 1.0 
   container.Children.Add(lineObj) 
 
   MessageBox.Show(String.Format("Before Save: Container has {0} objects", container.Children.Count)) 
 
   ' create a memory stream to save the objects into 
   Using ms As New MemoryStream() 
      ' save the objects in this container 
      AnnCodecs.Save(ms, container) 
      ms.Position = 0 
 
      ' clear the container 
      container.Children.Clear() 
      MessageBox.Show(String.Format("After Save and Clear: Container has {0} objects, Stream size: {1}", container.Children.Count, ms.Length)) 
 
 
      ' load the objects back from the stream 
      AnnCodecs.Load(ms, container) 
 
      MessageBox.Show(String.Format("After Load: Container has {0} objects", container.Children.Count)) 
   End Using 
End Sub 
using Leadtools.Windows.Controls; 
using Leadtools.Windows.Annotations; 
using Leadtools.Demos; 
using Leadtools.Help; 
 
public void AnnCodecs_LoadSaveContainer() 
{ 
   // create a new annotation container 
   AnnContainer container = new AnnContainer(); 
   // add a few objects into the container 
 
   AnnRectangleObject rectObj = new AnnRectangleObject(); 
   rectObj.Rect = new Rect(100, 100, 100, 100); 
   rectObj.Stroke = Colors.Blue; 
   rectObj.Fill = Colors.Transparent; 
   rectObj.StrokeThickness = 1.0; 
   container.Children.Add(rectObj); 
 
   AnnLineObject lineObj = new AnnLineObject(); 
   lineObj.Start = new Point(100, 100); 
   lineObj.End = new Point(200, 200); 
   lineObj.Stroke = Colors.Red; 
   lineObj.StrokeThickness = 1.0; 
   container.Children.Add(lineObj); 
 
   MessageBox.Show(string.Format("Before Save: Container has {0} objects", container.Children.Count)); 
 
   // create a memory stream to save the objects into 
   using(MemoryStream ms = new MemoryStream()) 
   { 
      // save the objects in this container 
      AnnCodecs.Save(ms, container); 
      ms.Position = 0; 
 
      // clear the container 
      container.Children.Clear(); 
      MessageBox.Show(string.Format("After Save and Clear: Container has {0} objects, Stream size: {1}", container.Children.Count, ms.Length)); 
 
 
      // load the objects back from the stream 
      AnnCodecs.Load(ms, container); 
 
      MessageBox.Show(String.Format("After Load: Container has {0} objects", container.Children.Count)); 
   } 
} 
using Leadtools.Windows.Controls; 
using Leadtools.Windows.Annotations; 
using Leadtools.Examples; 
 
public void AnnCodecs_LoadSaveContainer() 
{ 
   // create a new annotation container 
   AnnContainer container = new AnnContainer(); 
   // add a few objects into the container 
 
   AnnRectangleObject rectObj = new AnnRectangleObject(); 
   rectObj.Rect = new Rect(100, 100, 100, 100); 
   rectObj.Stroke = Colors.Blue; 
   rectObj.Fill = Colors.Transparent; 
   rectObj.StrokeThickness = 1.0; 
   container.Children.Add(rectObj); 
 
   AnnLineObject lineObj = new AnnLineObject(); 
   lineObj.Start = new Point(100, 100); 
   lineObj.End = new Point(200, 200); 
   lineObj.Stroke = Colors.Red; 
   lineObj.StrokeThickness = 1.0; 
   container.Children.Add(lineObj); 
 
   MessageBox.Show(string.Format("Before Save: Container has {0} objects", container.Children.Count)); 
 
   // create a memory stream to save the objects into 
   using(MemoryStream ms = new MemoryStream()) 
   { 
      // save the objects in this container 
      AnnCodecs.Save(ms, container); 
      ms.Position = 0; 
 
      // clear the container 
      container.Children.Clear(); 
      MessageBox.Show(string.Format("After Save and Clear: Container has {0} objects, Stream size: {1}", container.Children.Count, ms.Length)); 
 
 
      // load the objects back from the stream 
      AnnCodecs.Load(ms, container); 
 
      MessageBox.Show(String.Format("After Load: Container has {0} objects", container.Children.Count)); 
   } 
} 
Imports Leadtools.Windows.Controls 
Imports Leadtools.Windows.Annotations 
 
Public Sub AnnCodecs_LoadSaveContainer() 
   ' create a new annotation container 
   Dim container As AnnContainer = New AnnContainer() 
   ' add a few objects into the container 
 
   Dim rectObj As AnnRectangleObject = New AnnRectangleObject() 
   rectObj.Rect = New Rect(100, 100, 100, 100) 
   rectObj.Stroke = Colors.Blue 
   rectObj.Fill = Colors.Transparent 
   rectObj.StrokeThickness = 1.0 
   container.Children.Add(rectObj) 
 
   Dim lineObj As AnnLineObject = New AnnLineObject() 
   lineObj.Start = New Point(100, 100) 
   lineObj.End = New Point(200, 200) 
   lineObj.Stroke = Colors.Red 
   lineObj.StrokeThickness = 1.0 
   container.Children.Add(lineObj) 
 
   MessageBox.Show(String.Format("Before Save: Container has {0} objects", container.Children.Count)) 
 
   ' create a memory stream to save the objects into 
   Using ms As MemoryStream = New MemoryStream() 
      ' save the objects in this container 
      AnnCodecs.Save(ms, container) 
      ms.Position = 0 
 
      ' clear the container 
      container.Children.Clear() 
      MessageBox.Show(String.Format("After Save and Clear: Container has {0} objects, Stream size: {1}", container.Children.Count, ms.Length)) 
 
 
      ' load the objects back from the stream 
      AnnCodecs.Load(ms, container) 
 
      MessageBox.Show(String.Format("After Load: Container has {0} objects", container.Children.Count)) 
   End Using 
End Sub 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Windows.Annotations Assembly
Click or drag to resize