public int QualityFactor {get; set;} @property (nonatomic, assign) NSInteger qualityFactor; public int getQualityFactor()public void setQualityFactor(int value)
QualityFactor # get and set (CodecsPngSaveOptions)
Any value between 0 and 10:
| Value | Description |
|---|---|
| 0 | Default compression |
| 1 | Fastest compression |
| 3 | Default value |
| 9 | Highest compression ratio |
| 10 | No compression |
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing.Core;using Leadtools.Pdf;public void CodecsPngOptionsExample(){RasterCodecs codecs = new RasterCodecs();string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");RasterImage image = codecs.Load(srcFileName);codecs.Options.Png.Load.SetTrnsChunk(codecs.Options.Png.Load.GetTrnsChunk()); // CodecsPngOptions & CodecsPngLoadOptions reference// save with maximum qualitycodecs.Options.Png.Save.QualityFactor = 1; // CodecsPngSaveOptions referencecodecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "quality.png"), RasterImageFormat.Png, image.BitsPerPixel);// save with maximum compressioncodecs.Options.Png.Save.QualityFactor = 9;codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "compression.png"), RasterImageFormat.Png, image.BitsPerPixel);// calculate the stamp size to fit into 320 by 240 pixels keeping the aspect ratioLeadRect rc = new LeadRect(0, 0, 320, 240);rc = RasterImage.CalculatePaintModeRectangle(image.ImageWidth, image.ImageHeight, rc,RasterPaintSizeMode.FitAlways, RasterPaintAlignMode.Near, RasterPaintAlignMode.Near);codecs.Options.Png.Save.QualityFactor = 4;codecs.Options.Png.Save.SaveWithStamp = true;codecs.Options.Png.Save.StampWidth = rc.Width;codecs.Options.Png.Save.StampHeight = rc.Height;codecs.Options.Png.Save.StampBitsPerPixel = 24;codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "WithStamp.png"), RasterImageFormat.Png, image.BitsPerPixel);// Clean upimage.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 codecsPngOptionsExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";RasterCodecs codecs = new RasterCodecs();String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "barcode1.tif");RasterImage image = codecs.load(srcFileName);codecs.getOptions().getPng().getLoad().setTrnsChunk(codecs.getOptions().getPng().getLoad().getTrnsChunk()); // CodecsPngOptions// &// CodecsPngLoadOptions// reference// save with maximum qualitycodecs.getOptions().getPng().getSave().setQualityFactor(1); // CodecsPngSaveOptions referencecodecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "quality.png"), RasterImageFormat.PNG, image.getBitsPerPixel());// save with maximum compressioncodecs.getOptions().getPng().getSave().setQualityFactor(9);codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "compression.png"), RasterImageFormat.PNG,image.getBitsPerPixel());// calculate the stamp size to fit into 320 by 240 pixels keeping the aspect// ratioLeadRect rc = new LeadRect(0, 0, 320, 240);rc = RasterImage.calculatePaintModeRectangle(image.getImageWidth(), image.getImageHeight(), rc,RasterPaintSizeMode.FIT_ALWAYS, RasterPaintAlignMode.NEAR, RasterPaintAlignMode.NEAR);codecs.getOptions().getPng().getSave().setQualityFactor(4);codecs.getOptions().getPng().getSave().setSaveWithStamp(true);codecs.getOptions().getPng().getSave().setStampWidth(rc.getWidth());codecs.getOptions().getPng().getSave().setStampHeight(rc.getHeight());codecs.getOptions().getPng().getSave().setStampBitsPerPixel(24);String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "WithStamp.png");codecs.save(image, outputFileName, RasterImageFormat.PNG, image.getBitsPerPixel());assertTrue("File unsuccessfully saved to " + outputFileName, (new File(outputFileName)).exists());System.out.printf("File successfully saved to %s%n", outputFileName);// Clean upimage.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
