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




codecs
The RasterCodecs object.
stream
A Stream where the image data will be saved.
image
The RasterImage object that holds the image data.
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.
Saves a RasterImage to a stream in any of the supported JPEG 2000 file formats. This method is available in the Document/Medical Toolkits.

Syntax

Visual Basic (Declaration) 
Overloads Public Sub Save( _
   ByVal codecs As RasterCodecs, _
   ByVal stream As Stream, _
   ByVal image As RasterImage, _
   ByVal format As Jpeg2000FileFormat, _
   ByVal bitsPerPixel As Integer, _
   ByVal qualityFactor As Integer _
) 
Visual Basic (Usage)Copy Code
Dim instance As Jpeg2000Engine
Dim codecs As RasterCodecs
Dim stream As Stream
Dim image As RasterImage
Dim format As Jpeg2000FileFormat
Dim bitsPerPixel As Integer
Dim qualityFactor As Integer
 
instance.Save(codecs, stream, image, format, bitsPerPixel, qualityFactor)
C# 
public void Save( 
   RasterCodecs codecs,
   Stream stream,
   RasterImage image,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
)
Managed Extensions for C++ 
public: void Save( 
   RasterCodecs codecs,
   Stream* stream,
   RasterImage image,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
) 
C++/CLI 
public:
void Save( 
   RasterCodecs codecs,
   Stream^ stream,
   RasterImage image,
   Jpeg2000FileFormat format,
   int bitsPerPixel,
   int qualityFactor
) 

Parameters

codecs
The RasterCodecs object.
stream
A Stream where the image data will be saved.
image
The RasterImage object that holds the image data.
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.

Example

Visual BasicCopy Code
Leadtools.Jpeg2000.Jpeg2000Engine.Save(Stream)
      Private Sub SaveStreamExample()
         Dim codecs As New RasterCodecs()
         codecs.ThrowExceptionsOnInvalidImages = True

         Dim fs As FileStream = File.OpenRead("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\image1.jp2")

         ' Load a JPEG 2000 image
         Dim engine As New Jpeg2000Engine()
         Dim Image As RasterImage = engine.Load(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray)

         Dim xmlBoxes As List(Of XmlBox) = engine.GetBoxes(Of XmlBox)(Jpeg2000FileFormat.LeadJp2)
         Dim resBox As ResolutionBox = DirectCast(engine.GetBox(Jpeg2000FileFormat.LeadJp2, Jpeg2000BoxType.ResolutionBox), ResolutionBox)

         engine.ResetEngineBoxes()
         ' Set the JPX engine's XML box
         engine.SetBoxes(Jpeg2000FileFormat.LeadJpx, xmlBoxes)
         engine.SetBox(Jpeg2000FileFormat.LeadJpx, resBox)
         fs.Close()
         fs = File.Create("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Test.jpx")
         ' Save the image in JPX file format
         engine.Save(codecs, fs, Image, Jpeg2000FileFormat.LeadJpx, 24, 5)
         ' Append Intellectual Property Rights box
         Dim ipr As New IprBox()
         Dim copyRights As String = ("Copyright (c) 1991-2008 by LEAD Technologies, Inc. All Rights Reserved.")
         Dim data() As Char = copyRights.ToCharArray()
         ReDim ipr.Data(data.GetLength(0))
         Data.CopyTo(ipr.Data, 0)
         engine.AppendBox(fs, ipr)

         ' Clean up
         fs.Close()
         Image.Dispose()
         codecs.Dispose()
      End Sub
C#Copy Code
Leadtools.Jpeg2000.Jpeg2000Engine.Save(Stream) 
      private void SaveStreamExample() 
      { 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = true; 
 
         FileStream fs = File.OpenRead(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\image1.jp2"); 
 
         // Load a JPEG 2000 image 
         Jpeg2000Engine engine = new Jpeg2000Engine(); 
         RasterImage image = engine.Load(codecs, fs, 0, CodecsLoadByteOrder.BgrOrGray); 
 
         List<XmlBox> xmlBoxes = engine.GetBoxes<XmlBox>(Jpeg2000FileFormat.LeadJp2); 
         ResolutionBox resBox = (ResolutionBox)engine.GetBox(Jpeg2000FileFormat.LeadJp2, Jpeg2000BoxType.ResolutionBox); 
 
         engine.ResetEngineBoxes(); 
         //Set the JPX engine's XML box 
         engine.SetBoxes(Jpeg2000FileFormat.LeadJpx, xmlBoxes); 
         engine.SetBox(Jpeg2000FileFormat.LeadJpx, resBox); 
         fs.Close(); 
         fs = File.Create(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Test.jpx"); 
         //Save the image in JPX file format 
         engine.Save(codecs, fs, image, Jpeg2000FileFormat.LeadJpx, 24, 5); 
         //Append Intellectual Property Rights box 
         IprBox ipr = new IprBox(); 
         String copyRights = ("Copyright (c) 1991-2008 by LEAD Technologies, Inc. All Rights Reserved."); 
         char[] data = copyRights.ToCharArray(); 
         ipr.Data = new byte[data.GetLength(0)]; 
         data.CopyTo(ipr.Data, 0); 
         engine.AppendBox(fs, ipr); 
 
         // Clean up 
         fs.Close(); 
         image.Dispose(); 
         codecs.Dispose(); 
      }

Remarks

All engine boxes that are currently set will also be saved in this 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