←Select platform

Tags Property

Summary

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

Syntax
C#
VB
Java
Objective-C
C++
public ObservableCollection<RasterTagMetadata> Tags { get; } 
Public ReadOnly Property Tags As ObservableCollection(Of RasterTagMetadata) 
@property (nonatomic, assign, readonly, nullable) NSMutableArray<LTRasterTagMetadata *> *tags 
public List<RasterTagMetadata> getTags() 
public: 
property ObservableCollection<RasterTagMetadata^>^ Tags { 
   ObservableCollection<RasterTagMetadata^>^ get(); 
} 

Property Value

A collection of RasterTagMetadata used when reading and writing certain file formats (including TIFF).

Remarks

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

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

By setting the CodecsSaveOptions.Tags property to true before calling RasterCodecs.Save, you can save the tags 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.WriteTags method to save the tags directly to an existing file and the RasterCodecs.EnumTags to load the tags stored in an existing file.

Note: To write tags to a TIFF file, use RasterCodecs.WriteTags instead of using RasterImage.Tags followed by RasterCodecs.Save.

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 DisplayTag(RasterTagMetadata tag) 
{ 
   switch (tag.DataType) 
   { 
      case RasterTagMetadataDataType.Ascii: 
         MessageBox.Show("Tag " + tag.Id.ToString() + " = " + tag.ToAscii()); 
         break; 
      case RasterTagMetadataDataType.Byte: 
         MessageBox.Show("Tag " + tag.Id.ToString() + " = " + tag.ToByte()[0].ToString()); 
         break; 
   } 
} 
public void TagsExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "IMAGE1.CMP")); 
 
   //Ascii 
   RasterTagMetadata tagDataAscii = new RasterTagMetadata(); 
   // set the Copyright tag 
   tagDataAscii.Id = 0x8000; 
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii; 
   tagDataAscii.FromAscii("Test String"); 
   image.Tags.Add(tagDataAscii); 
 
   //Byte 
   RasterTagMetadata tagDataByte = tagDataAscii.Clone(); 
   tagDataByte.Id = 0x8001; 
   tagDataByte.DataType = RasterTagMetadataDataType.Byte; 
   byte[] byteArray = new byte[1]; 
   byteArray[0] = 10; 
   tagDataByte.FromByte(byteArray); 
   image.Tags.Add(tagDataByte); 
 
   codecs.Options.Save.Tags = true; 
   codecs.Save(image, Path.Combine(ImagesPath.Path, "IMAGE1_TAGS.TIF"), RasterImageFormat.Tif, 0); 
   // load the tags together with the image 
 
   RasterTagMetadata tag = codecs.ReadTag(Path.Combine(ImagesPath.Path, "IMAGE1_TAGS.TIF"), 1, 0x8000); 
   DisplayTag(tag); 
   tag = codecs.ReadTag(Path.Combine(ImagesPath.Path, "IMAGE1_TAGS.TIF"), 1, 0x8001); 
   DisplayTag(tag); 
 
   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 DisplayTag(ByVal tag As RasterTagMetadata) 
   Select Case tag.DataType 
      Case RasterTagMetadataDataType.Ascii 
         MessageBox.Show("Tag " & tag.Id.ToString() & " = " & tag.ToAscii()) 
      Case RasterTagMetadataDataType.Byte 
         MessageBox.Show("Tag " & tag.Id.ToString() & " = " & tag.ToByte()(0).ToString()) 
   End Select 
End Sub 
Public Sub TagsExample() 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")) 
 
   'Ascii 
   Dim tagDataAscii As RasterTagMetadata = New RasterTagMetadata() 
   ' set the Copyright tag 
   tagDataAscii.Id = &H8000 
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii 
   tagDataAscii.FromAscii("Test String") 
   image.Tags.Add(tagDataAscii) 
 
   'Byte 
   Dim tagDataByte As RasterTagMetadata = tagDataAscii.Clone() 
   tagDataByte.Id = &H8001 
   tagDataByte.DataType = RasterTagMetadataDataType.Byte 
   Dim byteArray As Byte() = New Byte(0) {} 
   byteArray(0) = 10 
   tagDataByte.FromByte(byteArray) 
   image.Tags.Add(tagDataByte) 
 
   codecs.Options.Save.Tags = True 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), RasterImageFormat.Tif, 0) 
   ' load the tags together with the image 
 
   Dim tag As RasterTagMetadata = codecs.ReadTag(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), 1, &H8000) 
   DisplayTag(tag) 
   tag = codecs.ReadTag(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), 1, &H8001) 
   DisplayTag(tag) 
 
   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 DisplayTag(RasterTagMetadata tag) 
{ 
   switch (tag.DataType) 
   { 
      case RasterTagMetadataDataType.Ascii: 
         Debug.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToAscii()); 
         break; 
      case RasterTagMetadataDataType.Byte: 
         Debug.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToByte()[0].ToString()); 
         break; 
   } 
} 
public void TagsExample(RasterImage image, Stream destStream) 
{ 
   //Ascii 
   RasterTagMetadata tagDataAscii = new RasterTagMetadata(); 
   // set the Copyright tag 
   tagDataAscii.Id = 0x8000; 
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii; 
   tagDataAscii.FromAscii("Test String"); 
   image.Tags.Add(tagDataAscii); 
 
   //Byte 
   RasterTagMetadata tagDataByte = tagDataAscii.Clone(); 
   tagDataByte = 0x8001; 
   tagDataByte.DataType = RasterTagMetadataDataType.Byte; 
   byte[] byteArray = new byte[1]; 
   byteArray[0] = 10; 
   tagDataByte.FromByte(byteArray); 
   image.Tags.Add(tagDataByte); 
 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Options.Save.Tags = true; 
   codecs.Save(image, destStream, RasterImageFormat.Tif, 0); 
   // load the tags together with the image 
 
   RasterTagMetadata tag = codecs.ReadTag(destStream, 1, 0x8000); 
   DisplayTag(tag); 
   tag = codecs.ReadTag(destStream, 1, 0x8001); 
   DisplayTag(tag); 
} 
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 DisplayTag(ByVal tag As RasterTagMetadata) 
   Select Case tag.DataType 
      Case RasterTagMetadataDataType.Ascii 
         Debug.WriteLine("Tag " & tag.Id.ToString() & " = " & tag.ToAscii()) 
      Case RasterTagMetadataDataType.Byte 
         Debug.WriteLine("Tag " & tag.Id.ToString() & " = " & tag.ToByte()(0).ToString()) 
   End Select 
End Sub 
Public Sub TagsExample(ByVal image As RasterImage, ByVal destStream As Stream) 
   'Ascii 
   Dim tagDataAscii As RasterTagMetadata = New RasterTagMetadata() 
   ' set the Copyright tag 
   tagDataAscii.Id = &H8000 
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii 
   tagDataAscii.FromAscii("Test String") 
   image.Tags.Add(tagDataAscii) 
 
   'Byte 
   Dim tagDataByte As RasterTagMetadata = tagDataAscii.Clone() 
   tagDataByte = &H8001 
   tagDataByte.DataType = RasterTagMetadataDataType.Byte 
   Dim byteArray As Byte() = New Byte(0) {} 
   byteArray(0) = 10 
   tagDataByte.FromByte(byteArray) 
   image.Tags.Add(tagDataByte) 
 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Options.Save.Tags = True 
   codecs.Save(image, destStream, RasterImageFormat.Tif, 0) 
   ' load the tags together with the image 
 
   Dim tag As RasterTagMetadata = codecs.ReadTag(destStream, 1, &H8000) 
   DisplayTag(tag) 
   tag = codecs.ReadTag(destStream, 1, &H8001) 
   DisplayTag(tag) 
End Sub 

Requirements

Target Platforms

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

Leadtools Assembly