QualityFactor Property (original) (raw)

Summary

Gets and sets the Quality Factor (QFactor) to use when saving JPEG, LEAD CMP and other compressed images that support Quality Factor.

Syntax

C#

Objective-C

C++/CLI

Java

Python

public int QualityFactor { get; set; } 
@property (nonatomic, assign) NSInteger qualityFactor; 

public int getQualityFactor() public void setQualityFactor(int value)

public: property int QualityFactor { int get(); void set ( int ); }

Property Value

The Quality Factor to use when saving JPEG and LEAD CMP compressed images.

Value Description
0 Lossless JPEG
2 Highest quality; The default value is 2.
3-254 The lower the value, the higher the quality. The higher the value, the higher the compression.
255 Highest compression

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Core; public void CodecsJpegOptionsExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"); // Get all Information about the Jpeg file that you want to load. CodecsImageInfo imageInfo = codecs.GetInformation(srcFileName, true); //Setting Jpeg Load options. CodecsJpegOptions & CodecsJpegLoadOptions reference codecs.Options.Jpeg.Load.DisableMmx = false; codecs.Options.Jpeg.Load.DisableP3 = false; codecs.Options.Jpeg.Load.ForceCieLab = true; codecs.Options.Jpeg.Load.ForceRgbFile = false; codecs.Options.Jpeg.Load.IgnoreAdobeColorTransform = false; codecs.Options.Jpeg.Load.UseBadJpegPredictor = false; codecs.Options.Jpeg.Load.Multithreaded = true; codecs.Options.Jpeg.Load.UseFastConversion = false; RasterImage srcImage = codecs.Load(srcFileName); //if the image has stamp then set the Jpeg settings related to the stamp. if (imageInfo.Jpeg.HasStamp) { // Note, codecs.Options.Jpeg.Save.SaveWithoutTimestamp is deprecated. Use CodecsPngSaveOptions.SaveWithoutTimestamp instead. // CodecsJpegSaveOptions reference codecs.Options.Jpeg.Save.FixedPaletteStamp = true; codecs.Options.Jpeg.Save.JpegStamp = true; codecs.Options.Jpeg.Save.SaveWithStamp = true; codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel; codecs.Options.Jpeg.Save.StampHeight = 100; codecs.Options.Jpeg.Save.StampWidth = 100; codecs.Options.Jpeg.Save.YccStamp = false; } if (imageInfo.Jpeg.IsLossless) Debug.WriteLine("This is a lossless Jpeg Image"); else Debug.WriteLine("This is not a lossless Jpeg Image"); if (imageInfo.Jpeg.IsProgressive) codecs.Options.Jpeg.Save.Passes = 0; codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.Custom; codecs.Options.Jpeg.Save.DisableMmx = true; codecs.Options.Jpeg.Save.DisableP3 = true; codecs.Options.Jpeg.Save.QualityFactor = 2; codecs.Options.Jpeg.Save.SaveOldJtif = true; codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "jpeg1.jpg"), RasterImageFormat.Jpeg, srcImage.BitsPerPixel); codecs.Options.Jpeg.Save.FixedPaletteStamp = false; codecs.Options.Jpeg.Save.JpegStamp = true; codecs.Options.Jpeg.Save.SaveWithStamp = true; codecs.Options.Jpeg.Save.StampBitsPerPixel = srcImage.BitsPerPixel; codecs.Options.Jpeg.Save.StampHeight = 75; codecs.Options.Jpeg.Save.StampWidth = 50; codecs.Options.Jpeg.Save.YccStamp = true; codecs.Options.Jpeg.Save.CmpQualityFactorPredefined = CodecsCmpQualityFactorPredefined.MaximumQuality; codecs.Options.Jpeg.Save.DisableMmx = false; codecs.Options.Jpeg.Save.DisableP3 = false; codecs.Options.Jpeg.Save.SaveOldJtif = false; codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "jpeg2.jpg"), RasterImageFormat.Jpeg, srcImage.BitsPerPixel); // Clean up srcImage.Dispose(); codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

Leadtools.Codecs Assembly

CompactFile(Stream,Stream,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(Stream,Stream,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

CompactFile(string,string,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(string,string,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

StartCompress(int,int,int,RasterByteOrder,RasterViewPerspective,int,byte[],int,int,CodecsCompression,CodecsCompressDataCallback) Method