LEADTOOLS Annotations for WPF and Silverlight (Leadtools.Windows.Annotations assembly)

Save(Stream,AnnContainer) Method

Show in webframe
Example 





The stream to which to save the objects.
An AnnContainer containing the objects to be saved.
Saves the annotation objects to a stream.
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
) 

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 Code  
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

See Also

Reference

AnnCodecs Class
AnnCodecs Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.