public class CodecsJpeg2000SaveOptions
@interface LTCodecsJpeg2000SaveOptions : NSObject
public class CodecsJpeg2000SaveOptions
public ref class CodecsJpeg2000SaveOptions
class CodecsJpeg2000SaveOptions:
For information about compression quality factors, refer to Compression Quality Factors.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
using Leadtools.Pdf;
public void CodecsJpeg2000OptionsExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.j2k");
CodecsJpeg2000PrecinctSize[] precintSizes = (CodecsJpeg2000PrecinctSize[])Enum.GetValues(typeof(CodecsJpeg2000PrecinctSize));
foreach (var precinctSize in precintSizes)
{
Console.WriteLine($"PrecinctSize types: {precinctSize}");
}
//Setting the Jpeg2000 load options. CodecsJpeg2000Options & CodecsJpeg2000LoadOptions reference
codecs.Options.Jpeg2000.Load.J2kResolution = new LeadSize(800, 800);
codecs.Options.Jpeg2000.Load.Jp2Resolution = new LeadSize(800, 800);
codecs.Options.Jpeg2000.Load.CmwResolution = new LeadSize(0, 0);
//loading a Jpeg2000 image.
RasterImage srcImage = codecs.Load(srcFileName);
//Setting the Jpeg2000 save options. CodecsJpeg2000SaveOptions reference
codecs.Options.Jpeg2000.Save.AlphaChannelActiveBits = 16;
codecs.Options.Jpeg2000.Save.AlphaChannelLossless = false;
codecs.Options.Jpeg2000.Save.CompressionControl = CodecsJpeg2000CompressionControl.Ratio;
codecs.Options.Jpeg2000.Save.CompressionRatio = 15.0f;
codecs.Options.Jpeg2000.Save.DecompositionLevels = 5;
codecs.Options.Jpeg2000.Save.DerivedQuantization = true;
codecs.Options.Jpeg2000.Save.ImageAreaHorizontalOffset = 0;
codecs.Options.Jpeg2000.Save.ImageAreaVerticalOffset = 0;
codecs.Options.Jpeg2000.Save.ProgressingOrder = CodecsJpeg2000ProgressionsOrder.PositionComponentResolutionLayer;
codecs.Options.Jpeg2000.Save.PrecinctSize = CodecsJpeg2000PrecinctSize.HierarchicalOne64;
codecs.Options.Jpeg2000.Save.ReferenceTileHeight = 240;
codecs.Options.Jpeg2000.Save.ReferenceTileWidth = 480;
codecs.Options.Jpeg2000.Save.RegionOfInterest = CodecsJpeg2000RegionOfInterest.UseLeadRegion;
codecs.Options.Jpeg2000.Save.RegionOfInterestRectangle = new LeadRect(0, 0, 0, 0);
codecs.Options.Jpeg2000.Save.TargetFileSize = 10240;
codecs.Options.Jpeg2000.Save.TileHorizontalOffset = 0;
codecs.Options.Jpeg2000.Save.TileVerticalOffset = 0;
codecs.Options.Jpeg2000.Save.UseColorTransform = true;
codecs.Options.Jpeg2000.Save.UseEphMarker = false;
codecs.Options.Jpeg2000.Save.UseRegionOfInterest = false;
codecs.Options.Jpeg2000.Save.UseSopMarker = false;
//Save the first sample.
codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "Image1_test.j2k"), RasterImageFormat.J2k, srcImage.BitsPerPixel);
codecs.Options.Jpeg2000.Save.Reset();
//changing some of the Jpeg2000 save options
codecs.Options.Jpeg2000.Save.CompressionRatio = 23.0f;
codecs.Options.Jpeg2000.Save.DecompositionLevels = 6;
codecs.Options.Jpeg2000.Save.ReferenceTileHeight = 320;
codecs.Options.Jpeg2000.Save.ReferenceTileWidth = 320;
codecs.Options.Jpeg2000.Save.UseEphMarker = true;
codecs.Options.Jpeg2000.Save.ProgressingOrder = CodecsJpeg2000ProgressionsOrder.ResolutionPositionComponentLayer;
codecs.Options.Jpeg2000.Save.UseSopMarker = true;
codecs.Options.Jpeg2000.Save.TargetFileSize = 102400;
var maximumComponentsNumber = CodecsJpeg2000SaveOptions.MaximumComponentsNumber;
var maximumDecompressionLevels = CodecsJpeg2000SaveOptions.MaximumDecompressionLevels;
Console.WriteLine("MaximumComponents: {0}, MaximumDecompressionLevels: {1}", maximumComponentsNumber, maximumDecompressionLevels);
//Save the first sample.
codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "Image1_test.jp2"), RasterImageFormat.J2k, srcImage.BitsPerPixel);
// Clean up
srcImage.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.Paths;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.core.MinMaxBitsCommand;
public void codecsJpeg2000OptionsExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.j2k");
CodecsJpeg2000PrecinctSize[] precinctSizes = CodecsJpeg2000PrecinctSize.values();
System.out.println(precinctSizes.toString());
// Setting the Jpeg2000 load options. CodecsJpeg2000Options &
// CodecsJpeg2000LoadOptions reference
codecs.getOptions().getJpeg2000().getLoad().setJ2kResolution(new LeadSize(800, 800));
codecs.getOptions().getJpeg2000().getLoad().setJp2Resolution(new LeadSize(800, 800));
codecs.getOptions().getJpeg2000().getLoad().setCmwResolution(new LeadSize(0, 0));
// loading a Jpeg2000 image.
RasterImage srcImage = codecs.load(srcFileName);
// Setting the Jpeg2000 save options. CodecsJpeg2000SaveOptions reference
codecs.getOptions().getJpeg2000().getSave().setAlphaChannelActiveBits(16);
codecs.getOptions().getJpeg2000().getSave().setAlphaChannelLossless(false);
codecs.getOptions().getJpeg2000().getSave().setCompressionControl(CodecsJpeg2000CompressionControl.RATIO);
codecs.getOptions().getJpeg2000().getSave().setCompressionRatio(15.0f);
codecs.getOptions().getJpeg2000().getSave().setDecompositionLevels(5);
codecs.getOptions().getJpeg2000().getSave().setDerivedQuantization(true);
codecs.getOptions().getJpeg2000().getSave().setImageAreaHorizontalOffset(0);
codecs.getOptions().getJpeg2000().getSave().setImageAreaVerticalOffset(0);
codecs.getOptions().getJpeg2000().getSave()
.setProgressingOrder(CodecsJpeg2000ProgressionsOrder.POSITION_COMPONENT_RESOLUTION_LAYER);
codecs.getOptions().getJpeg2000().getSave().setPrecinctSize(CodecsJpeg2000PrecinctSize.HIERARCHICAL_ONE_64);
codecs.getOptions().getJpeg2000().getSave().setReferenceTileHeight(240);
codecs.getOptions().getJpeg2000().getSave().setReferenceTileWidth(480);
codecs.getOptions().getJpeg2000().getSave().setRegionOfInterest(CodecsJpeg2000RegionOfInterest.USE_LEAD_REGION);
codecs.getOptions().getJpeg2000().getSave().setRegionOfInterestRectangle(new LeadRect(0, 0, 0, 0));
codecs.getOptions().getJpeg2000().getSave().setTargetFileSize(10240);
codecs.getOptions().getJpeg2000().getSave().setTileHorizontalOffset(0);
codecs.getOptions().getJpeg2000().getSave().setTileVerticalOffset(0);
codecs.getOptions().getJpeg2000().getSave().setUseColorTransform(true);
codecs.getOptions().getJpeg2000().getSave().setUseEphMarker(false);
codecs.getOptions().getJpeg2000().getSave().setUseRegionOfInterest(false);
codecs.getOptions().getJpeg2000().getSave().setUseSopMarker(false);
// Save the first sample.
codecs.save(srcImage, combine(LEAD_VARS_IMAGES_DIR, "Image1_test.j2k"), RasterImageFormat.J2K,
srcImage.getBitsPerPixel());
codecs.getOptions().getJpeg2000().getSave().reset();
// changing some of the Jpeg2000 save options
codecs.getOptions().getJpeg2000().getSave().setCompressionRatio(23.0f);
codecs.getOptions().getJpeg2000().getSave().setDecompositionLevels(6);
codecs.getOptions().getJpeg2000().getSave().setReferenceTileHeight(320);
codecs.getOptions().getJpeg2000().getSave().setReferenceTileWidth(320);
codecs.getOptions().getJpeg2000().getSave().setUseEphMarker(true);
codecs.getOptions().getJpeg2000().getSave()
.setProgressingOrder(CodecsJpeg2000ProgressionsOrder.RESOLUTION_POSITION_COMPONENT_LAYER);
codecs.getOptions().getJpeg2000().getSave().setUseSopMarker(true);
codecs.getOptions().getJpeg2000().getSave().setTargetFileSize(102400);
CodecsJpeg2000SaveOptions csSaveOptions = new CodecsJpeg2000SaveOptions(null);
var maximumComponentsNumber = csSaveOptions.getMaximumComponentsNumber();
var maximumDecompressionLevels = csSaveOptions.getMaximumDecompressionLevels();
System.out.println("MaximumComponents: " + maximumComponentsNumber + ", MaximumDecompressionLevels: "
+ maximumDecompressionLevels);
// Save the first sample.
String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_test.jp2");
codecs.save(srcImage, outputFileName, RasterImageFormat.J2K, srcImage.getBitsPerPixel());
assertTrue("File unsuccessfully saved to " + outputFileName, (new File(outputFileName)).exists());
System.out.printf("File successfully saved to %s%n", outputFileName);
// Clean up
srcImage.dispose();
codecs.dispose();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document