ReadFrames(RasterCodecs,Stream,List<int>,int,CodecsLoadByteOrder) Method

Summary

Loads the specified frame images (i.e. CompositeJpxImages.ColorImage, CompositeJpxImages.OpacityImage, and CompositeJpxImages.PreOpacityImage) from the specified JPEG 2000 stream using the specified options.

Syntax
C#
VB
C++
public List<CompositeJpxImages> ReadFrames( 
   RasterCodecs codecs, 
   Stream stream, 
   List<int> frames, 
   int bitsPerPixel, 
   CodecsLoadByteOrder order 
) 
  
Public Overloads Function ReadFrames( _ 
   ByVal codecs As RasterCodecs, _ 
   ByVal stream As Stream, _ 
   ByVal frames As List(Of Integer), _ 
   ByVal bitsPerPixel As Integer, _ 
   ByVal order As CodecsLoadByteOrder _ 
) As List(Of CompositeJpxImages) 
public: 
List<CompositeJpxImages^>^ ReadFrames(  
   RasterCodecs^ codecs, 
   Stream^ stream, 
   List<int>^ frames, 
   int bitsPerPixel, 
   CodecsLoadByteOrder order 
)  

Parameters

codecs
The Leadtools.Codecs.RasterCodecs object.

stream
A System.IO.Stream containing the image data being loaded.

frames
Frame indices. A list of integers specifying the indices of the frames to be loaded from the stream.

bitsPerPixel
Resulting image pixel depth. If this value is zero [0], the image will have the original file's pixel depth (the image will not be converted).

order
Color order for 16-bit, 24-bit, 32-bit, 48-bit, and 64-bit images. If the resulting image is less than 16 bits per pixel, this will have no effect since palletized images do not use color order. Valid values are as follows:

Value Meaning
CodecsLoadByteOrder.Rgb Red, green, and blue color order in memory
CodecsLoadByteOrder.Bgr Blue, green, and red color order in memory
CodecsLoadByteOrder.Gray 12-bit or 16-bit grayscale image. 12-bit and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.RgbOrGray Load the image as red, green, blue OR as a 12-bit or 16-bit grayscale image. 12-bits and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.BgrOrGray Load the image as blue, green, red OR as a 12-bit or 16-bit grayscale image. 12-bit and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.Romm ROMM order. ROMM only supports 24-bit and 48-bit images.
CodecsLoadByteOrder.BgrOrGrayOrRomm Load the image as red, green, blue OR as a 12-bit or 16-bit grayscale image OR as ROMM. 12-bit and 16-bit grayscale images are supported only in the Document/Medical Imaging editions. ROMM only supports 24-bit and 48-bit color images.

Return Value

The CompositeJpxImages list that this method loads.

Remarks

All engine boxes will be reset.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Jpeg2000; 
 
public void ReadFramesStreamExample() 
{ 
   FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")); 
   // Load a JPEG 2000 image 
   Jpeg2000Engine engine = new Jpeg2000Engine(); 
 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   List<int> frames = new List<int>(); 
   frames.Add(1); 
   List<CompositeJpxImages> images = engine.ReadFrames(codecs, fs, frames, 0, CodecsLoadByteOrder.BgrOrGray); 
   // Clean up 
   fs.Close(); 
   foreach (CompositeJpxImages image in images) 
   { 
      if (image.ColorImage != null) 
         image.ColorImage.Dispose(); 
 
      if (image.OpacityImage != null) 
         image.OpacityImage.Dispose(); 
 
      if (image.PreOpacityImage != null) 
         image.PreOpacityImage.Dispose(); 
   } 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Jpeg2000 
 
Public Sub ReadFramesStreamExample() 
   Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")) 
 
   ' Load a JPEG 2000 image 
   Dim engine As New Jpeg2000Engine() 
   Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(fs) 
   If (fileInfo.Frame.GetLength(0) < 2) Then 
      Return 
   End If 
 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim frames As New List(Of Integer) 
   frames.Add(1) 
   Dim images As List(Of CompositeJpxImages) = engine.ReadFrames(codecs, fs, frames, 0, CodecsLoadByteOrder.BgrOrGray) 
 
   '  Clean up 
   fs.Close() 
   Dim _image As CompositeJpxImages 
   For Each _image In images 
      _image.ColorImage.Dispose() 
      _image.OpacityImage.Dispose() 
      _image.PreOpacityImage.Dispose() 
   Next _image 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2019.9.19
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Jpeg2000 Assembly