←Select platform

SaveWithStamp Property

Summary

Indicates whether to save a PNG image with a stamp.

Syntax
C#
Objective-C
C++/CLI
Java
Python
public bool SaveWithStamp { get; set; } 
@property (nonatomic, assign) BOOL saveWithStamp; 
public boolean getSaveWithStamp() 
public void setSaveWithStamp(boolean value) 
public: 
property bool SaveWithStamp { 
   bool get(); 
   void set (    bool ); 
} 
SaveWithStamp # get and set (CodecsPngSaveOptions) 

Property Value

Value Description
true To save with stamp.
false To save without stamp. The default value is false.
Example
C#
Java
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(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.