Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
CopyMetadataTo Method
See Also  Example
Leadtools Namespace > RasterImage Class : CopyMetadataTo Method



image
Destination image
flags
Type of metadata to copy
Copies the metadata (tags, comments, and markers) to the given image.

Syntax

Visual Basic (Declaration) 
Public Sub CopyMetadataTo( _
   ByVal image As RasterImage, _
   ByVal flags As RasterMetadataFlags _
) 
Visual Basic (Usage)Copy Code
Dim instance As RasterImage
Dim image As RasterImage
Dim flags As RasterMetadataFlags
 
instance.CopyMetadataTo(image, flags)
C# 
public void CopyMetadataTo( 
   RasterImage image,
   RasterMetadataFlags flags
)
C++/CLI 
public:
void CopyMetadataTo( 
   RasterImage^ image,
   RasterMetadataFlags flags
) 

Parameters

image
Destination image
flags
Type of metadata to copy

Example

Visual BasicCopy Code
Public Sub CopyMetadataToExample()
   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' load 2 TIF images
   Dim image1 As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "OCR1.TIF")
   Dim image2 As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "OCR2.TIF")

   ' show the number of tags in each image
   MessageBox.Show(String.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count))

   ' add a few tags to the first image
   Dim tag As RasterTagMetadata = New RasterTagMetadata(RasterTagMetadata.Copyright, RasterTagMetadataDataType.Byte, New Byte() {1, 2, 3})
   image1.Tags.Add(tag)

   tag = New RasterTagMetadata(RasterTagMetadata.ExifGps, RasterTagMetadataDataType.Byte, New Byte() {4, 5, 6})
   image1.Tags.Add(tag)

   ' show the number of tags in each image
   MessageBox.Show(String.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count))

   ' copy the tags from first image to the second
   image1.CopyMetadataTo(image2, RasterMetadataFlags.Tags)

   ' show the number of tags in each image
   MessageBox.Show(String.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count))

   image1.Dispose()
   image2.Dispose()
   codecs.Dispose()
   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void CopyMetadataToExample() 

   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
   // load 2 TIF images 
   RasterImage image1 = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "OCR1.TIF"); 
   RasterImage image2 = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "OCR2.TIF"); 
 
   // show the number of tags in each image 
   MessageBox.Show(string.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count)); 
 
   // add a few tags to the first image 
   RasterTagMetadata tag = new RasterTagMetadata(RasterTagMetadata.Copyright, RasterTagMetadataDataType.Byte, new byte[] { 1, 2, 3 }); 
   image1.Tags.Add(tag); 
 
   tag = new RasterTagMetadata(RasterTagMetadata.ExifGps, RasterTagMetadataDataType.Byte, new byte[] { 4, 5, 6 }); 
   image1.Tags.Add(tag); 
 
   // show the number of tags in each image 
   MessageBox.Show(string.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count)); 
 
   // copy the tags from first image to the second 
   image1.CopyMetadataTo(image2, RasterMetadataFlags.Tags); 
 
   // show the number of tags in each image 
   MessageBox.Show(string.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count)); 
 
   image1.Dispose(); 
   image2.Dispose(); 
   codecs.Dispose(); 
   RasterCodecs.Shutdown(); 
}

Remarks

This methods copies the metadata found in the Tags, Comments and/or Markers collections of this RasterImage to image.

Before the copy operation, this method will clear any metadata already found in image.

For more information on GeoKeys, refer to Implementing GeoKeys (GeoTIFF tags).

For more information, refer to Non Image Data.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also