LEADTOOLS JPEG 2000 (Leadtools.Jpeg2000 assembly)

ExtractFramesNativeMemory(Stream,List<Int32>) Method

Show in webframe
Example 





A System.IO.Stream containing the JPEG 2000 file data from which frames are being extracted.
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.
Extracts the specified frames from the input stream, and saves them to a new JPEG 2000 file in a Leadtools.RasterNativeBuffer object. This method is available in the Document/Medical Toolkits.
Syntax
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
) 

Parameters

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

Return Value

A Leadtools.RasterNativeBuffer object that contains a JPEG 2000 file with only the extracted frames.
Remarks
.

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.

Example
Copy Code  
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";
}
Requirements

Target Platforms

See Also

Reference

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

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

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