Leadtools.Jpeg2000 Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.10
ExtractFramesMemory(Stream,Generic List) Method
See Also  Example
Leadtools.Jpeg2000 Namespace > Jpeg2000Engine Class > ExtractFramesMemory Method : ExtractFramesMemory(Stream,Generic List) Method




stream
A Stream containing the JPEG 2000 file data from which the frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input file. All indices should be 0-based.
Extracts specific frames from the input stream, and saves them to a new JPEG 2000 file in a byte array. This file contains only the extracted frame headers/codestreams (not any obtained through the decompressing/recompressing process) so it saves processor time and memory. This method is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
Overloads Public Function ExtractFramesMemory( _
   ByVal stream As Stream, _
   ByVal frames As List(Of Integer) _
) As Byte()
Visual Basic (Usage)Copy Code
Dim instance As Jpeg2000Engine
Dim stream As Stream
Dim frames As List(Of Integer)
Dim value() As Byte
 
value = instance.ExtractFramesMemory(stream, frames)
C# 
public byte[] ExtractFramesMemory( 
   Stream stream,
   List<int> frames
)
Managed Extensions for C++ 
public: byte[] ExtractFramesMemory( 
   Stream* stream,
   List<int>* frames
) 
C++/CLI 
public:
array<byte> ExtractFramesMemory( 
   Stream^ stream,
   List<int>^ frames
) 

Parameters

stream
A Stream containing the JPEG 2000 file data from which the frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input file. All indices should be 0-based.

Return Value

A byte array that contains a JPEG 2000 file with extracted frames only.

Example

Visual BasicCopy Code
Leadtools.Jpeg2000.Jpeg2000Engine.ExtractFramesMemory(Stream)
      Private Function ExtractFramesMemoryStreamExample(ByVal frames As List(Of Integer)) As Byte()
         Dim fs As FileStream = File.OpenRead("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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 Nothing
            End If
         Next i

         Dim buffer() As Byte = engine.ExtractFramesMemory(fs, frames)

         ' Clean up
         fs.Close()
         Return buffer
      End Function
C#Copy Code
Leadtools.Jpeg2000.Jpeg2000Engine.ExtractFramesMemory(Stream) 
      private byte[] ExtractFramesMemoryStreamExample(List<int> frames) 
      { 
         FileStream fs = File.OpenRead(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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 null; 
         byte [] buffer = engine.ExtractFramesMemory(fs, frames); 
         // Clean up 
         fs.Close(); 
         return buffer; 
      }

Remarks

. 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.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

Leadtools.Jpeg2000 requires a Document or Medical toolkit license and unlock key. For more information, refer to: Raster Pro/Document/Medical Features