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 )
function Leadtools.Jpeg2000.Jpeg2000Engine.ExtractFramesNativeMemory(Stream,List{Int32})( 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.
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
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"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
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