public CodecsPngSaveOptions Save { get; }
@property (nonatomic, strong, readonly) LTCodecsPngSaveOptions *save;
public CodecsPngSaveOptions getSave()
public:
property CodecsPngSaveOptions^ Save {
CodecsPngSaveOptions^ get();
}
Save # get (CodecsPngOptions)
The PNG save options.
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 quality
codecs.Options.Png.Save.QualityFactor = 1; // CodecsPngSaveOptions reference
codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "quality.png"), RasterImageFormat.Png, image.BitsPerPixel);
// save with maximum compression
codecs.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 ratio
LeadRect 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 up
image.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 quality
codecs.getOptions().getPng().getSave().setQualityFactor(1); // CodecsPngSaveOptions reference
codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "quality.png"), RasterImageFormat.PNG, image.getBitsPerPixel());
// save with maximum compression
codecs.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
// ratio
LeadRect 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 up
image.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