Saves the annotation objects to a stream.
public void Save(
Stream stream,
AnnContainer container,
AnnCodecsFormat format,
int page,
AnnCodecsSavePageMode pageMode
)
Public Overloads Sub Save( _
ByVal stream As Stream, _
ByVal container As Leadtools.Windows.Annotations.AnnContainer, _
ByVal format As Leadtools.Windows.Annotations.AnnCodecsFormat, _
ByVal page As Integer, _
ByVal pageMode As Leadtools.Windows.Annotations.AnnCodecsSavePageMode _
)
public:
void Save(
Stream^ stream,
Leadtools.Windows.Annotations.AnnContainer^ container,
Leadtools.Windows.Annotations.AnnCodecsFormat format,
int page,
Leadtools.Windows.Annotations.AnnCodecsSavePageMode pageMode
)
stream
The stream to which to save the objects.
container
An AnnContainer containing the objects to be saved.
format
An AnnCodecsFormat value that specifies the annotation format to be used when saving.
page
1-based index of the page to be saved.
pageMode
A value that indicates how to handle the page when saving to a multi-page stream.
pageMode can be one of the following:
Mode | Description |
---|---|
AnnCodecsSavePageMode.Overwrite | The stream will be overwritten and all previous information will be lost. The value of page must be 1 or -1 (if appending the objects as the last page). |
AnnCodecsSavePageMode.Insert | The stream must have valid annotation objects saved to it. The value of page must be between 1 and the total number of pages in the stream. A value of -1 will append the objects as the last page. |
AnnCodecsSavePageMode.Replace | The stream must have valid annotation objects saved to it. The value of page must be between 1 and total number of pages in the stream. |
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.
using Leadtools.Windows.Controls;
using Leadtools.Windows.Annotations;
using Leadtools.Demos;
using Leadtools.Help;
public void AnnCodecs_Save()
{
// 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())
{
// create a new AnnCodecs class
AnnCodecs codecs = new AnnCodecs();
// save the objects in this container
codecs.Save(ms, container, AnnCodecsFormat.NativeXml, 1, AnnCodecsSavePageMode.Overwrite);
// 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));
// get information about the stream
// note, the Save method does not seek the stream back to its original position, so do that now
ms.Position = 0;
AnnCodecsInformation information = new AnnCodecsInformation();
codecs.GetInformation(ms, information);
MessageBox.Show(string.Format("Format: {0}, Number of pages: {1}", information.Format, information.Pages));
// load the objects back from the stream
codecs.Load(ms, container, 1);
MessageBox.Show(String.Format("After Load: Container has {0} objects", container.Children.Count));
}
}
Imports Leadtools.Windows.Controls
Imports Leadtools.Windows.Annotations
Public Sub AnnCodecs_Save()
' 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.StrokeThickness = 1.0
rectObj.Fill = Nothing
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()
' create a new AnnCodecs class
Dim codecs As AnnCodecs = New AnnCodecs()
' save the objects in this container
codecs.Save(ms, container, AnnCodecsFormat.NativeXml, 1, AnnCodecsSavePageMode.Overwrite)
' 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))
' get information about the stream
' note, the Save method does not seek the stream back to its original position, so do that now
ms.Position = 0
Dim information As AnnCodecsInformation = New AnnCodecsInformation()
codecs.GetInformation(ms, information)
MessageBox.Show(String.Format("Format: {0}, Number of pages: {1}", information.Format, information.Pages))
' load the objects back from the stream
codecs.Load(ms, container, 1)
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.Examples;
//using Leadtools.Help;
public void AnnCodecs_Save()
{
// 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);
// 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.Save(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_Save()
' 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)
' 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.Save(ms, container)
MessageBox.Show(String.Format("After Load: Container has {0} objects", container.Children.Count))
End Using
End Sub
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET