LEADTOOLS JPEG 2000 (Leadtools.Jpeg2000 assembly)
LEAD Technologies, Inc

SaveComposite(RasterCodecs,Stream,List<CompositeJpxImages>,Jpeg2000FileFormat,Int32,Int32) Method

Example 





The Leadtools.Codecs.RasterCodecs object.
A System.IO.Stream to which the image data will be saved.
List of CompositeJpxImages layer image data that will be saved
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.
Resulting file's pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. A value of zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.
Saves a CompositeJpxImages list to a stream in any of the supported JPEG 2000 file formats. This method is available in the Document/Medical Toolkits.
Syntax
public void SaveComposite( 
   RasterCodecs codecs,
   Stream stream,
   List<CompositeJpxImages> compositeImages,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
)
'Declaration
 
Public Overloads Sub SaveComposite( _
   ByVal codecs As RasterCodecs, _
   ByVal stream As Stream, _
   ByVal compositeImages As List(Of CompositeJpxImages), _
   ByVal format As Jpeg2000FileFormat, _
   ByVal bitsPerPixel As Integer, _
   ByVal qualityFactor As Integer _
) 
'Usage
 
Dim instance As Jpeg2000Engine
Dim codecs As RasterCodecs
Dim stream As Stream
Dim compositeImages As List(Of CompositeJpxImages)
Dim format As Jpeg2000FileFormat
Dim bitsPerPixel As Integer
Dim qualityFactor As Integer
 
instance.SaveComposite(codecs, stream, compositeImages, format, bitsPerPixel, qualityFactor)
public void SaveComposite( 
   RasterCodecs codecs,
   Stream stream,
   List<CompositeJpxImages> compositeImages,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
)
 function Leadtools.Jpeg2000.Jpeg2000Engine.SaveComposite(RasterCodecs,Stream,List{CompositeJpxImages},Jpeg2000FileFormat,Int32,Int32)( 
   codecs ,
   stream ,
   compositeImages ,
   format ,
   bitsPerPixel ,
   qualityFactor 
)

Parameters

codecs
The Leadtools.Codecs.RasterCodecs object.
stream
A System.IO.Stream to which the image data will be saved.
compositeImages
List of CompositeJpxImages layer image data that will be saved
format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.
bitsPerPixel
Resulting file's pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. A value of zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.
Remarks
All engine boxes that are currently set will also be saved in this file
Example
 
Public Sub SaveCompositeStreamExample(ByVal xmlData() As Byte)
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"))

      ' Load a JPEG 2000 image
      Dim engine As New Jpeg2000Engine()
      Dim images As List(Of CompositeJpxImages) = engine.LoadComposite(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray)

      engine.ResetEngineBoxes()

      Dim gtsoBox As GtsoBox = DirectCast(engine.ReadBox(fs, Jpeg2000BoxType.GtsoBox, 0), GtsoBox)
      engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox)

      fs.Close()
      fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"))

      ' Save the image in JPX file format
      engine.SaveComposite(codecs, fs, images, Jpeg2000FileFormat.LeadJpx, 24, 5)

      ' Append an XML box
      Dim _xmlBox As New XmlBox()
      _xmlBox.Data = xmlData
      Dim xmlBoxes As New List(Of XmlBox)
      xmlBoxes.Add(_xmlBox)
      engine.AppendBoxes(fs, xmlBoxes)

      '  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
public void SaveCompositeStreamExample(byte[] xmlData)
   {
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"));

      // Load a JPEG 2000 image
      Jpeg2000Engine engine = new Jpeg2000Engine();
      List<CompositeJpxImages> images = engine.LoadComposite(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray);

      engine.ResetEngineBoxes();

      GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(fs, Jpeg2000BoxType.GtsoBox, 0));
      engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox);

      fs.Close();
      fs = File.Create(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"));

      //Save the image in JPX file format
      engine.SaveComposite(codecs, fs, images, Jpeg2000FileFormat.LeadJpx, 24, 5);
      //Append an XML box
      XmlBox xmlBox = new XmlBox();
      xmlBox.Data = xmlData;
      List<XmlBox> xmlBoxes = new List<XmlBox>();
      xmlBoxes.Add(xmlBox);
      engine.AppendBoxes(fs, xmlBoxes);
      // Clean up
      fs.Close();
      foreach (CompositeJpxImages image in images)
      {
         image.ColorImage.Dispose();
         image.OpacityImage.Dispose();
         image.PreOpacityImage.Dispose();
      }
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

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

See Also

Reference

Jpeg2000Engine Class
Jpeg2000Engine Members
Overload List
AppendFrames
Load
LoadComposite
ReadFrames
Save
SaveComposite(RasterCodecs, String, List, Jpeg2000FileFormat, Int32, Int32)
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-2012 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