←Select platform

CopyMetadataTo Method

Summary

Copies the metadata (tags, comments, and markers) to the given image.

Syntax
C#
VB
Objective-C
C++
Java
public void CopyMetadataTo( 
   RasterImage image, 
   RasterMetadataFlags flags 
) 
Public Sub CopyMetadataTo( _ 
   ByVal image As RasterImage, _ 
   ByVal flags As RasterMetadataFlags _ 
)  
- (void)copyMetadataTo:(LTRasterImage *)image  
                 flags:(LTRasterMetadataFlags)flags 
public void copyMetadataTo( 
  RasterImage image,  
  int flags 
) 
public: 
void CopyMetadataTo(  
   RasterImage^ image, 
   RasterMetadataFlags flags 
)  

Parameters

image
Destination image

flags
Type of metadata to copy

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.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using LeadtoolsExamples.Common; 
using Leadtools.Svg; 
 
public void CopyMetadataToExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   // load 2 TIF images 
   RasterImage image1 = codecs.Load(Path.Combine(ImagesPath.Path, "OCR1.TIF")); 
   RasterImage image2 = codecs.Load(Path.Combine(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(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Controls 
Imports Leadtools.Dicom 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
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#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Dicom; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Examples; 
using Leadtools.Windows.Media; 
 
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(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Dicom 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Windows.Media 
 
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 

Requirements

Target Platforms

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

Leadtools Assembly