- codecs
- The Leadtools.Codecs.RasterCodecs object.
- stream
- A System.IO.Stream where the image data will be saved.
- image
- The Leadtools.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.
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 ) |
C++/CLI | |
---|---|
public: void Save( RasterCodecs^ codecs, Stream^ stream, RasterImage^ image, Jpeg2000FileFormat format, int bitsPerPixel, int qualityFactor ) |
Parameters
- codecs
- The Leadtools.Codecs.RasterCodecs object.
- stream
- A System.IO.Stream where the image data will be saved.
- image
- The Leadtools.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.
Visual Basic | Copy Code |
---|---|
Public Sub SaveStreamExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "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(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx")) ' Save the image in JPX file format engine.Save(codecs, fs, Image, Jpeg2000FileFormat.LeadJpx, 24, 5) ' Append Intellectual Property Rights box Dim copyRights As String = ("Copyright (c) 1991-2008 by LEAD Technologies, Inc. All Rights Reserved.") Dim ipr As New IprBox() ipr.Data = Encoding.ASCII.GetBytes(copyRights) engine.AppendBox(fs, ipr) ' Clean up fs.Close() Image.Dispose() codecs.Dispose() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public void SaveStreamExample() { RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "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(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx")); //Save the image in JPX file format engine.Save(codecs, fs, image, Jpeg2000FileFormat.LeadJpx, 24, 5); //Append Intellectual Property Rights box String copyRights = ("Copyright (c) 1991-2009 by LEAD Technologies, Inc. All Rights Reserved."); IprBox ipr = new IprBox(); ipr.Data = Encoding.ASCII.GetBytes(copyRights); engine.AppendBox(fs, ipr); // Clean up fs.Close(); image.Dispose(); codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
All engine boxes that are currently set will also be saved in this file
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
Reference
Jpeg2000Engine ClassJpeg2000Engine Members
Overload List
AppendFrames
Load
LoadComposite
ReadFrames
Save(RasterCodecs,String,RasterImage,Jpeg2000FileFormat,Int32,Int32)
SaveComposite
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