←Select platform

Tags Property

Summary
Gets or sets a value that indicates whether any tags found in the file should be automatically loaded.
Syntax
C#
VB
Objective-C
C++
Java
public bool Tags { get; set; } 
Public Property Tags As Boolean 
@property (nonatomic, assign) BOOL tags 
public boolean getTags() 
public void setTags(boolean value) 
public: 
property bool Tags { 
   bool get(); 
   void set (    bool ); 
} 

Property Value

true to automatically load any tags found in the file; otherwise it is false.

Remarks

When the value of the Tags property is set to true, any subsequent load operation performed by this RasterCodecs object will automatically try to load all the tags found in the file and store them in the RasterImage.Tags collection of the resulting image.

Internally, the RasterCodecs object will call TagsSupported on the image and only tries to load the tags if the value returned was true.

When loading more than one page from a multipage file, only the tags found in the first page will be automatically loaded when the value of this property is set to true. To manually load all the tags in any page, use ReadTags.

You must set the value of the Markers property to false to enable automatically loading the tags. If the value of both Markers and Tags is set to true, then the markers will take take precedence and no tags will be loaded.

Note that any load method that uses tiles, offset or resizing will not load any file metadata automatically regardless of the value of this property.

Example

This example will browse to a file and load it along with any tags, geo-keys and comments found.

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
 
 
public void MetadataAutoLoadExample() 
{ 
	// Prompt the user for an image file 
	string imageFileName = PromptForFileName(); 
 
	// Initialize LEADTOOLS 
	using (RasterCodecs codecs = new RasterCodecs()) 
	{ 
		CodecsLoadOptions loadOptions = codecs.Options.Load; 
 
		// Make sure auto-loading of markers is turned off, otherwise, 
		// markers take precedence over loading the other metadata 
		loadOptions.Markers = false; 
 
		// Automatically load any tags, comments and geokeys found in this file 
		loadOptions.Tags = true; 
		loadOptions.Comments = true; 
		loadOptions.GeoKeys = true; 
 
		// Now load the image 
		using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
		{ 
			string txtFileName = Path.Combine( 
			   Path.GetDirectoryName(imageFileName), 
			   Path.GetFileNameWithoutExtension(imageFileName) + "_metadata.txt"); 
 
			using (StreamWriter writer = File.CreateText(txtFileName)) 
			{ 
				// Show its tags 
				ShowTags(writer, "Tags", image.Tags); 
 
				// Show its comments 
				ShowComments(writer, image.Comments); 
 
				// Show its geo keys (tags and geokeys use the same data type) 
				ShowTags(writer, "GeoKeys", image.GeoKeys); 
			} 
 
			// Show the text file we created 
			System.Diagnostics.Process.Start(txtFileName); 
		} 
	} 
} 
 
private static void ShowTags(StreamWriter writer, string name, IList<RasterTagMetadata> tags) 
{ 
	writer.WriteLine("{0}:", name); 
 
	foreach (RasterTagMetadata tag in tags) 
	{ 
		writer.WriteLine("Id: 0x{0}, data length: {1}", tag.Id.ToString("X"), tag.GetData().Length); 
	} 
 
	writer.WriteLine(); 
} 
 
private static void ShowComments(StreamWriter writer, IList<RasterCommentMetadata> comments) 
{ 
	writer.WriteLine("Comments:"); 
 
	foreach (RasterCommentMetadata comment in comments) 
	{ 
		writer.WriteLine("Type: 0x{0}, data length: {1}", comment.Type, comment.GetData().Length); 
	} 
 
	writer.WriteLine(); 
} 
Requirements

Target Platforms

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

Leadtools.Codecs Assembly