LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
CopyMetadataTo Method
See Also 
Leadtools Namespace > RasterImage Class : CopyMetadataTo Method



image
Destination image
flags
Type of metadata to copy
image
Destination image
flags
Type of metadata to copy
Copies the metadata (tags, comments, and markers) to the given image. Supported in Silverlight, Windows Phone 7

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()
      Dim codecs As RasterCodecs = New RasterCodecs()
      ' load 2 TIF images
      Dim image1 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "OCR1.TIF"))
      Dim image2 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "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()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void CopyMetadataToExample()
   {
      RasterCodecs codecs = new RasterCodecs();
      // load 2 TIF images
      RasterImage image1 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "OCR1.TIF"));
      RasterImage image2 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void CopyMetadataToExample(RasterImage image1, RasterImage image2)
{
   // images should be 2 TIF images
   // show the number of tags in each image
   Debug.WriteLine(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
   Debug.WriteLine(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
   Debug.WriteLine(string.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count));

   image1.Dispose();
   image2.Dispose();
}
SilverlightVBCopy Code
Public Sub CopyMetadataToExample(ByVal image1 As RasterImage, ByVal image2 As RasterImage)
   ' images should be 2 TIF images
   ' show the number of tags in each image
   Debug.WriteLine(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
   Debug.WriteLine(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
   Debug.WriteLine(String.Format("Tags in image1: {0}, tags in image2: {1}", image1.Tags.Count, image2.Tags.Count))

   image1.Dispose()
   image2.Dispose()
End Sub

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: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7

See Also