public byte[] ToByte()
- (void)toByte:(unsigned char *)buffer itemCount:(NSUInteger)count
public byte[] toByte();
public:
array<byte>^ ToByte();
def ToByte(self):
The tag data converted to an array of bytes.
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 image
RasterImage image = codecs.Load(srcFileName);
// add the tags
const int tagSoftware = 0x8001;
RasterTagMetadata tag;
// Ascii
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.Ascii;
tag.FromAscii("Test String");
image.Tags.Add(tag);
// Byte
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.Byte;
byte[] byteArray = new byte[1];
byteArray[0] = 10;
tag.FromByte(byteArray);
image.Tags.Add(tag);
// SByte
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.SByte;
sbyte[] sbyteArray = new sbyte[1];
sbyteArray[0] = -45;
tag.FromSByte(sbyteArray);
image.Tags.Add(tag);
// Int16
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.Int16;
short[] shortArray = new short[1];
shortArray[0] = 64;
tag.FromInt16(shortArray);
image.Tags.Add(tag);
// Uint16
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.UInt16;
ushort[] uint16Array = new ushort[1];
uint16Array[0] = 50;
tag.FromUInt16(uint16Array);
image.Tags.Add(tag);
// Int32
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.Int32;
int[] intArray = new int[1];
intArray[0] = -1326;
tag.FromInt32(intArray);
image.Tags.Add(tag);
// Uint32
tag = new RasterTagMetadata();
tag.Id = tagSoftware;
tag.DataType = RasterTagMetadataDataType.UInt32;
uint[] uintArray = new uint[1];
uintArray[0] = 1326;
tag.FromUInt32(uintArray);
image.Tags.Add(tag);
// single
tag = 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);
// Double
tag = 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);
// Rational
tag = 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);
// URational
tag = 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 file
codecs.Options.Save.Tags = true;
codecs.Save(image, destFileName, RasterImageFormat.Tif, 1);
// Enumerate the tags from the file
codecs.TagFound += new EventHandler<CodecsEnumTagsEventArgs>(codecs_TagFound);
codecs.EnumTags(destFileName, 1);
// clean up
image.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