←Select platform

Comments Property

Summary

The collection of comment data used when reading and writing certain file formats (including GIF).

Syntax
C#
VB
Objective-C
C++
Java
public ObservableCollection<RasterCommentMetadata> Comments { get; } 
Public ReadOnly Property Comments As ObservableCollection(Of RasterCommentMetadata) 
@property (nonatomic, assign, readonly, nullable) NSMutableArray<LTRasterCommentMetadata *> *comments 
public List<RasterCommentMetadata> getComments() 
public: 
property ObservableCollection<RasterCommentMetadata^>^ Comments { 
   ObservableCollection<RasterCommentMetadata^>^ get(); 
} 

Property Value

A collection of RasterCommentMetadata used when reading and writing certain file formats (including GIF).

Remarks

Several formats allow you to store non-image data such as comments, tags, and markers.

You can manipulate the comments of an image by adding/removing RasterCommentMetadata objects to this collection.

By setting the CodecsSaveOptions.Comments property to true before calling RasterCodecs.Save, you can save the comments in this collection when the image is saved into a file.

By setting the CodecsLoadOptions.Markers property to true before calling RasterCodecs.Load, you can load all the markers (if any) into this collection when an image is loaded from a file.

You can use the RasterCodecs.WriteMarkers method to save the markers directly to an existing file.

For more information, refer to Non Image Data and Types of File Comments.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using LeadtoolsExamples.Common; 
using Leadtools.Svg; 
 
private void DisplayComment(RasterCommentMetadata comment) 
{ 
   switch (comment.DataType) 
   { 
      case RasterCommentMetadataDataType.Ascii: 
         MessageBox.Show("Comment of type " + comment.Type.ToString() + " = " + comment.ToAscii()); 
         break; 
   } 
} 
public void CommentsExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "IMAGE1.CMP")); 
 
   //Ascii 
   RasterCommentMetadata commentDataAscii = new RasterCommentMetadata(); 
   // set the artist comment 
   commentDataAscii.Type = RasterCommentMetadataType.Artist; 
   commentDataAscii.FromAscii("Test String"); 
   image.Comments.Add(commentDataAscii); 
 
   codecs.Options.Save.Comments = true; 
   codecs.Save(image, Path.Combine(ImagesPath.Path, "IMAGE1_COMMENTS.TIF"), RasterImageFormat.Tif, 0); 
   // load the comment together with the image 
 
   RasterCommentMetadata comment = codecs.ReadComment(Path.Combine(ImagesPath.Path, "IMAGE1_COMMENTS.TIF"), 1, RasterCommentMetadataType.Artist); 
   DisplayComment(comment); 
 
   codecs.Dispose(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Controls 
Imports Leadtools.Dicom 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
Private Sub DisplayComment(ByVal comment As RasterCommentMetadata) 
   Select Case comment.DataType 
      Case RasterCommentMetadataDataType.Ascii 
         MessageBox.Show("Comment of type " & comment.Type.ToString() & " = " & comment.ToAscii()) 
   End Select 
End Sub 
Public Sub CommentsExample() 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")) 
 
   'Ascii 
   Dim commentDataAscii As RasterCommentMetadata = New RasterCommentMetadata() 
   ' set the artist comment 
   commentDataAscii.Type = RasterCommentMetadataType.Artist 
   commentDataAscii.FromAscii("Test String") 
   image.Comments.Add(commentDataAscii) 
 
   codecs.Options.Save.Comments = True 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_COMMENTS.TIF"), RasterImageFormat.Tif, 0) 
   ' load the comment together with the image 
 
   Dim comment As RasterCommentMetadata = codecs.ReadComment(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_COMMENTS.TIF"), 1, 
                                                             RasterCommentMetadataType.Artist) 
   DisplayComment(comment) 
 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Dicom; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Examples; 
using Leadtools.Windows.Media; 
 
private void DisplayComment(RasterCommentMetadata comment) 
{ 
   switch (comment.DataType) 
   { 
      case RasterCommentMetadataDataType.Ascii: 
         Debug.WriteLine("Comment of type " + comment.Type.ToString() + " = " + comment.ToAscii()); 
         break; 
   } 
} 
public void CommentsExample(RasterImage image, Stream destStream) 
{ 
   //Ascii 
   RasterCommentMetadata commentDataAscii = new RasterCommentMetadata(); 
   // set the artist comment 
   commentDataAscii.Type = RasterCommentMetadataType.Artist; 
   commentDataAscii.FromAscii("Test String"); 
   image.Comments.Add(commentDataAscii); 
 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Options.Save.Comments = true; 
   codecs.Save(image, destStream, RasterImageFormat.Tif, 0); 
   // load the comment together with the image 
 
   RasterCommentMetadata comment = codecs.ReadComment(destStream, 1, RasterCommentMetadataType.Artist); 
   DisplayComment(comment); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Dicom 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Windows.Media 
 
Private Sub DisplayComment(ByVal comment As RasterCommentMetadata) 
   Select Case comment.DataType 
      Case RasterCommentMetadataDataType.Ascii 
         Debug.WriteLine("Comment of type " & comment.Type.ToString() & " = " & comment.ToAscii()) 
   End Select 
End Sub 
Public Sub CommentsExample(ByVal image As RasterImage, ByVal destStream As Stream) 
   'Ascii 
   Dim commentDataAscii As RasterCommentMetadata = New RasterCommentMetadata() 
   ' set the artist comment 
   commentDataAscii.Type = RasterCommentMetadataType.Artist 
   commentDataAscii.FromAscii("Test String") 
   image.Comments.Add(commentDataAscii) 
 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Options.Save.Comments = True 
   codecs.Save(image, destStream, RasterImageFormat.Tif, 0) 
   ' load the comment together with the image 
 
   Dim comment As RasterCommentMetadata = codecs.ReadComment(destStream, 1, RasterCommentMetadataType.Artist) 
   DisplayComment(comment) 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly