Leadtools.Windows.Annotations Namespace > AnnCodecs Class > Save Method : Save(Stream,AnnContainer,AnnCodecsFormat,Int32,AnnCodecsSavePageMode) Method |
public void Save( Stream stream, AnnContainer container, AnnCodecsFormat format, int page, AnnCodecsSavePageMode pageMode )
'Declaration Public Overloads Sub Save( _ ByVal stream As Stream, _ ByVal container As AnnContainer, _ ByVal format As AnnCodecsFormat, _ ByVal page As Integer, _ ByVal pageMode As AnnCodecsSavePageMode _ )
'Usage Dim instance As AnnCodecs Dim stream As Stream Dim container As AnnContainer Dim format As AnnCodecsFormat Dim page As Integer Dim pageMode As AnnCodecsSavePageMode instance.Save(stream, container, format, page, pageMode)
public void Save( Stream stream, AnnContainer container, AnnCodecsFormat format, int page, AnnCodecsSavePageMode pageMode )
function Leadtools.Windows.Annotations.AnnCodecs.Save(Stream,AnnContainer,AnnCodecsFormat,Int32,AnnCodecsSavePageMode)( stream , container , format , page , pageMode )
public: void Save( Stream^ stream, AnnContainer^ container, AnnCodecsFormat format, int page, AnnCodecsSavePageMode pageMode )
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.
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
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)); } }
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)); } }
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
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