public int DataLength { get; } public long getDataLength() public:property int DataLength {int get();}
DataLength # get (CodecsExtension)
The size in bytes of the extension data. If the extension data is a stream, this value should be 0xFFFFFFFF
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;public void ExtensionsExample(string exifFileName){RasterCodecs codecs = new RasterCodecs();string stampFileName = Path.Combine(LEAD_VARS.ImagesDir, "Extension.bmp");string audioFileNameTemplate = Path.Combine(LEAD_VARS.ImagesDir, "Extension.wav");// Read the extensions from the fileDebug.WriteLine("Reading the extensions from the exif file");CodecsExtensionList extensionList = codecs.ReadExtensions(exifFileName, 1);if (extensionList != null){if ((extensionList.Flags & CodecsExtensionListFlags.Stamp) == CodecsExtensionListFlags.Stamp){Debug.WriteLine("Stamp extension: Found, saving to {0}", stampFileName);RasterImage stampImage = extensionList.CreateStamp();codecs.Save(stampImage, stampFileName, RasterImageFormat.Bmp, 24);stampImage.Dispose();}elseDebug.WriteLine("Stamp extension: Not found");if ((extensionList.Flags & CodecsExtensionListFlags.Audio) == CodecsExtensionListFlags.Audio){Debug.WriteLine("Audio extension: Found, saving ...");RasterNativeBuffer audioData;int streamIndex = 0;do{audioData = extensionList.GetAudioData(streamIndex);if (audioData.Data != IntPtr.Zero){string audioFileName = string.Format(audioFileNameTemplate, streamIndex);Debug.WriteLine("To {0}", audioFileName);using (FileStream fs = File.Create(audioFileName)){byte[] data = new byte[audioData.Length];Marshal.Copy(audioData.Data, data, 0, (int)audioData.Length);fs.Write(data, 0, (int)audioData.Length);}streamIndex++;}}while (audioData.Data != IntPtr.Zero);Debug.WriteLine("{0} total audio streams found", streamIndex);}elseDebug.WriteLine("Audio extension: Not found");CodecsExtension[] extensions = extensionList.GetExtensions();Debug.WriteLine("Total number of extensions found in the file: {0}", extensions.Length);for (int i = 0; i < extensions.Length; i++){CodecsExtension extension = extensions[i];Debug.WriteLine(" {0}. Name: {1}, Clsid: {2}, UCDefault: {3}, DatLength: {4}",i, extension.Name, extension.Clsid, extension.UCDefault, extension.DataLength);}// Finalize cannot be called directly, it is invoked automatically.// To clean up before exiting, use DisposeextensionList.Dispose();}elseDebug.WriteLine("No extensions were found in the file");codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}
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
