Leadtools.Jpeg2000 Namespace > Jpeg2000Engine Class > ExtractFramesNativeMemory Method : ExtractFramesNativeMemory(Stream,List<Int32>) Method |
public RasterNativeBuffer ExtractFramesNativeMemory( Stream stream, List<int> frames )
'Declaration Public Overloads Function ExtractFramesNativeMemory( _ ByVal stream As Stream, _ ByVal frames As List(Of Integer) _ ) As RasterNativeBuffer
'Usage Dim instance As Jpeg2000Engine Dim stream As Stream Dim frames As List(Of Integer) Dim value As RasterNativeBuffer value = instance.ExtractFramesNativeMemory(stream, frames)
public: RasterNativeBuffer ExtractFramesNativeMemory( Stream^ stream, List<int>^ frames )
This file contains only the extracted frame headers/code streams (not any obtained through the decompressing/recompressing process) so it saves processor time and memory.
This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file.Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Jpeg2000 Private Function ExtractFramesNativeMemoryStreamExample(ByVal frames As List(Of Integer)) As RasterNativeBuffer Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")) Dim engine As New Jpeg2000Engine() Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(fs) For i As Integer = 0 To frames.Count - 1 If (frames(i) >= fileInfo.Frame.GetLength(0)) Then Return RasterNativeBuffer.Empty End If Next i Dim buffer As RasterNativeBuffer = engine.ExtractFramesNativeMemory(fs, frames) ' Clean up fs.Close() Return buffer End Function Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.Jpeg2000; public RasterNativeBuffer ExtractFramesNativeMemoryStreamExample(List<int> frames) { FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")); Jpeg2000Engine engine = new Jpeg2000Engine(); Jpeg2000FileInformation fileInfo = engine.GetFileInformation(fs); for (int i = 0; i < frames.Count; i++) if (frames[i] >= fileInfo.Frame.GetLength(0)) return RasterNativeBuffer.Empty; RasterNativeBuffer buffer = engine.ExtractFramesNativeMemory(fs, frames); // Clean up fs.Close(); return buffer; } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
Jpeg2000Engine Class
Jpeg2000Engine Members
Overload List
AppendFrames
AppendGmlData
ExtractFrames Method
ExtractFramesMemory
ExtractFramesNativeMemory(String, List)
FragmentJpxFile Method
ReadBox
ReadFrames
ReadGmlData
Compression Using LEAD and JPEG Formats
File Formats - JPEG And LEAD Compressed
Bitmaps In Memory And In Files
JPEG2000 File Comments
JPEG And LEAD File Comments
Programming with JPEG 2000 Features
JPEG 2000 Boxes