←Select platform

Tags Property

Summary
The collection of tag data used when reading and writing certain file formats (including TIFF).
Syntax
C#
Objective-C
C++/CLI
Java
Python
public ObservableCollection<RasterTagMetadata> Tags { get; } 
@property (nonatomic, assign, readonly, nullable) NSMutableArray<LTRasterTagMetadata *> *tags 
public RasterCollection<RasterTagMetadata> getTags(); 
public: 
property ObservableCollection<RasterTagMetadata^>^ Tags { 
   ObservableCollection<RasterTagMetadata^>^ get(); 
} 
Tags # get  (RasterImage) 

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#
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 Leadtools.Svg; 
 
 
private void DisplayTag(RasterTagMetadata tag) 
{ 
	switch (tag.DataType) 
	{ 
		case RasterTagMetadataDataType.Ascii: 
			Console.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToAscii()); 
			break; 
		case RasterTagMetadataDataType.Byte: 
			Console.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToByte()[0].ToString()); 
			break; 
	} 
} 
		public void TagsExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
	RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "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(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), RasterImageFormat.Tif, 0); 
	// load the tags together with the image 
 
	RasterTagMetadata tag = codecs.ReadTag(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), 1, 0x8000); 
	DisplayTag(tag); 
	tag = codecs.ReadTag(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), 1, 0x8001); 
	DisplayTag(tag); 
 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.