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)
A collection of RasterTagMetadata used when reading and writing certain file formats (including TIFF).
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.
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:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document