LEADTOOLS Annotations for WPF and Silverlight (Leadtools.Windows.Annotations assembly)
LEAD Technologies, Inc

Save(Stream,AnnContainer) Method

Example 





The stream to which to save the objects.
An AnnContainer containing the objects to be saved.
Saves the annotation objects to a stream. .NET support Silverlight support
Syntax
public static void Save( 
   Stream stream,
   AnnContainer container
)
'Declaration
 
Public Overloads Shared Sub Save( _
   ByVal stream As Stream, _
   ByVal container As AnnContainer _
) 
'Usage
 
Dim stream As Stream
Dim container As AnnContainer
 
AnnCodecs.Save(stream, container)
public static void Save( 
   Stream stream,
   AnnContainer container
)
 function Leadtools.Windows.Annotations.AnnCodecs.Save(Stream,AnnContainer)( 
   stream ,
   container 
)
public:
static void Save( 
   Stream^ stream,
   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
Copy CodeCopy Code  
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
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));
   }
}
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));
   }
}
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

AnnCodecs Class
AnnCodecs Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.