Writes or changes a GeoKey to an existing file.
public void WriteGeoKey(string fileName,int pageNumber,RasterTagMetadata geoKey)
Public Overloads Sub WriteGeoKey( _ByVal fileName As String, _ByVal pageNumber As Integer, _ByVal geoKey As RasterTagMetadata _)
- (BOOL)writeGeoKey:(nullable LTRasterTagMetadata *)geoKeytoFile:(NSString *)filepageNumber:(NSInteger)pageNumbererror:(NSError **)error
public:void WriteGeoKey(String^ fileName,int pageNumber,RasterTagMetadata^ geoKey)
fileName
A String that contains the filename.
pageNumber
1-based index of the page at which to write the GeoKey.
geoKey
GeoKey to identify the data in the Geo TIFF file.
This method writes to or changes the GeoKeys in an existing file.
This method works only with TIFF files. If you also want to write the other TIFF tags and comments, use WriteMarkers instead.
Note: Use this method carefully. LEADTOOLS will not restrict the GeoKeys that you write. If you write bad GeoKeys, the file might become corrupted. Consult the GeoTIFF specification documentation for a list of GeoKeys.
Some restrictions apply to this function if you use an IFD to indicate to which page to write the GeoKey. See the Loading and Saving Large TIFF / BigTIFF Files topic for more information.
This example will show all the GeoKeys in the given file and then load them and add them to a destination file
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;using LeadtoolsExamples.Common;string geoKeySrcFileName;string geoKeyDestFileName;void WriteGeoKeyExample(string srcFileName, string destFileName){RasterCodecs codecs = new RasterCodecs();geoKeySrcFileName = srcFileName;geoKeyDestFileName = destFileName;codecs.GeoKeyFound += new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound);codecs.EnumGeoKeys(srcFileName, 1);codecs.GeoKeyFound -= new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound);// Clean upcodecs.Dispose();}void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e){Console.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, Data Length={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length);// Load this GeoKeyRasterCodecs codecs = sender as RasterCodecs;RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id);// Write it to the destination fileConsole.WriteLine("Writing this GeoKey to the destination file");codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey);}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.ImageProcessing.ColorImports Leadtools.DrawingImports Leadtools.SvgPrivate geoKeySrcFileName As StringPrivate geoKeyDestFileName As StringPrivate Sub WriteGeoKeyExample(ByVal srcFileName As String, ByVal destFileName As String)Dim codecs As RasterCodecs = New RasterCodecs()geoKeySrcFileName = srcFileNamegeoKeyDestFileName = destFileNameAddHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFoundcodecs.EnumGeoKeys(srcFileName, 1)RemoveHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFound' Clean upcodecs.Dispose()End SubPrivate Sub codecs_MyGeyKeyFound(ByVal sender As Object, ByVal e As CodecsEnumGeoKeysEventArgs)Console.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length)' Load this GeoKeyDim codecs As RasterCodecs = TryCast(sender, RasterCodecs)Dim geoKey As RasterTagMetadata = codecs.ReadGeoKey(geoKeySrcFileName, 1, e.Id)' Write it to the destination fileConsole.WriteLine("Writing this GeoKey to the destination file")codecs.WriteGeoKey(geoKeyDestFileName, 1, geoKey)End Sub
c#[Silverlight C# Example]using Leadtools;using Leadtools.Codecs;using Leadtools.Examples;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Windows.Media;Stream geoKeySrcStream;Stream geoKeyDestStream;void WriteGeoKeyExample(Stream inStreamGeyKey, Stream outStreamGeyKey){RasterCodecs codecs = new RasterCodecs();geoKeySrcStream = inStreamGeyKey;geoKeyDestStream = outStreamGeyKey;codecs.GeoKeyFound += new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound);codecs.EnumGeoKeys(inStreamGeyKey, 1);codecs.GeoKeyFound -= new EventHandler<CodecsEnumGeoKeysEventArgs>(codecs_MyGeyKeyFound);}void codecs_MyGeyKeyFound(object sender, CodecsEnumGeoKeysEventArgs e){Debug.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length);// Load this GeoKeyRasterCodecs codecs = sender as RasterCodecs;RasterTagMetadata geoKey = codecs.ReadGeoKey(geoKeySrcStream, 1, e.Id);// Write it to the destination fileDebug.WriteLine("Wirting this GeoKey to the destination file");codecs.WriteGeoKey(geoKeyDestStream, 1, geoKey);}vb[Silverlight VB Example]Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.ImageProcessing.ColorImports Leadtools.Windows.MediaPrivate geoKeySrcStream As StreamPrivate geoKeyDestStream As StreamPrivate Sub WriteGeoKeyExample(ByVal inStreamGeyKey As Stream, ByVal outStreamGeyKey As Stream)Dim codecs As RasterCodecs = New RasterCodecs()geoKeySrcStream = inStreamGeyKeygeoKeyDestStream = outStreamGeyKeyAddHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFoundcodecs.EnumGeoKeys(inStreamGeyKey, 1)RemoveHandler codecs.GeoKeyFound, AddressOf codecs_MyGeyKeyFoundEnd SubPrivate Sub codecs_MyGeyKeyFound(ByVal sender As Object, ByVal e As CodecsEnumGeoKeysEventArgs)Debug.WriteLine("GeoKey: Id={0}, Count={1}, Type={2}, DataLength={3}, Data=", e.Id, e.Count, e.MetadataType, e.Buffer.Length)' Load this GeoKeyDim codecs As RasterCodecs = TryCast(sender, RasterCodecs)Dim geoKey As RasterTagMetadata = codecs.ReadGeoKey(geoKeySrcStream, 1, e.Id)' Write it to the destination fileDebug.WriteLine("Wirting this GeoKey to the destination file")codecs.WriteGeoKey(geoKeyDestStream, 1, geoKey)End Sub
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
