[SerializableAttribute()]public class RasterTagMetadata : RasterMetadata
@interface LTRasterTagMetadata : LTRasterMetadata public class RasterTagMetadataextends RasterMetadataimplements java.io.Serializable
[SerializableAttribute()]public ref class RasterTagMetadata : public RasterMetadata
class RasterTagMetadata(RasterMetadata): The TIFF file formats support a number of comments that are saved and loaded using predefined tags.
If the comments do not meet your needs, you can define your own tag for saving additional non-raster data in a TIFF file. For example, you may want to define a tag to save annotations.
The TIFF 6.0 Specification sets aside a range of private tags that developers can define. To avoid conflicts with files created by other developers, you can register your tag by contacting Adobe Developer Relations. The E-Mail address posted on The Unofficial TIFF Home Page is [email protected].
Some restrictions apply to this function if you use an IFD to indicate to which page to write the metadata. See the Loading And Saving Large TIFF Files topic for more information.
This example will save then load some tags to/from a tif file.
using Leadtools;using Leadtools.Codecs;public void RasterTagMetadataExample(){RasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_tags.tif");// Load the imageRasterImage image = codecs.Load(srcFileName);// add the tagsconst int tagSoftware = 0x8001;RasterTagMetadata tag;// Asciitag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Ascii;tag.FromAscii("Test String");image.Tags.Add(tag);// Bytetag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Byte;byte[] byteArray = new byte[1];byteArray[0] = 10;tag.FromByte(byteArray);image.Tags.Add(tag);// SBytetag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.SByte;sbyte[] sbyteArray = new sbyte[1];sbyteArray[0] = -45;tag.FromSByte(sbyteArray);image.Tags.Add(tag);// Int16tag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Int16;short[] shortArray = new short[1];shortArray[0] = 64;tag.FromInt16(shortArray);image.Tags.Add(tag);// Uint16tag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.UInt16;ushort[] uint16Array = new ushort[1];uint16Array[0] = 50;tag.FromUInt16(uint16Array);image.Tags.Add(tag);// Int32tag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Int32;int[] intArray = new int[1];intArray[0] = -1326;tag.FromInt32(intArray);image.Tags.Add(tag);// Uint32tag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.UInt32;uint[] uintArray = new uint[1];uintArray[0] = 1326;tag.FromUInt32(uintArray);image.Tags.Add(tag);// singletag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Single;float[] singleArray = new float[1];singleArray[0] = 4.53f;tag.FromSingle(singleArray);image.Tags.Add(tag);// Doubletag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Double;double[] doubleArray = new double[1];doubleArray[0] = 7.1;tag.FromDouble(doubleArray);image.Tags.Add(tag);// Rationaltag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.Rational;RasterMetadataRational[] rational = new RasterMetadataRational[1];rational[0] = new RasterMetadataRational();rational[0].Numerator = 3;rational[0].Denominator = 2;tag.FromRational(rational);image.Tags.Add(tag);// URationaltag = new RasterTagMetadata();tag.Id = tagSoftware;tag.DataType = RasterTagMetadataDataType.URational;RasterMetadataURational[] urational = new RasterMetadataURational[1];urational[0] = new RasterMetadataURational(3, 2);tag.FromURational(urational);image.Tags.Add(tag);// Save the image and its tags to the destination tiff filecodecs.Options.Save.Tags = true;codecs.Save(image, destFileName, RasterImageFormat.Tif, 1);// Enumerate the tags from the filecodecs.TagFound += new EventHandler<CodecsEnumTagsEventArgs>(codecs_TagFound);codecs.EnumTags(destFileName, 1);// clean upimage.Dispose();codecs.Dispose();}void codecs_TagFound(object sender, CodecsEnumTagsEventArgs e){Console.WriteLine("Found tag id = {0}, count = {1}, type = {2}", e.Id, e.Count, e.MetadataType);}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\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
