ImageEn, unit iexBitmaps

TIOParams.ImageQuality

TIOParams.ImageQuality


Declaration

property ImageQuality: Double;


Description

Specifies the quality to use when saving an HDP, HEIF or WebP file via WIC or ImageMagick (and LibWebP for WebP).
The range is 0.0 to 1.0, where 0.0 produces the lowest possible quality, and 1.0 produces the highest quality.

It also provides generic access to the quality settings for other formats. Seeing ImageQuality will also set:
JPEG_Quality
DICOM_JPEGQuality
TIFF_JPEGQuality

It will also apply to:
IEN: When IEN_Compression is ioJPEG
PDF: When PDF_Compression is ioPDF_JPEG
SVG: When SVG_ImageCompression is ioJPEG

It does NOT set:
PNG_Compression
DICOM_J2000Rate
J2000_Rate

Note:
To set lossless compression (HDP and WebP), enable Lossless
See JPEG Quality comparisons at: JPEG_Quality

Default: 0.8 (Specified by IOParamDefaults().JPEG_Quality / 100)


Examples

ImageEnView1.IO.Params.ImageQuality := 0.7;
ImageEnView1.IO.SaveToFile( 'D:\image.hdp' );


Heif Size Comparisons

ImageEnView1.IO.LoadFromFile( 'D:\Alpha.png' );   // Original PNG - 335KB


ImageEnView1.IO.Params.ImageQuality := 1.0;
ImageEnView1.IO.SaveToFile( 'D:\image100.Heif' );  // 85KB


ImageEnView1.IO.Params.ImageQuality := 0.9;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image90.Heif' );   // 68KB


ImageEnView1.IO.Params.ImageQuality := 0.7;
ImageEnView1.IO.SaveToFile( 'D:\image70.Heif' );   // 40KB


ImageEnView1.IO.Params.ImageQuality := 0.5;
ImageEnView1.IO.SaveToFile( 'D:\image50.Heif' );   // 21KB


ImageEnView1.IO.Params.ImageQuality := 0.2;
ImageEnView1.IO.SaveToFile( 'D:\image20.Heif' );   // 7KB


ImageEnView1.IO.Params.ImageQuality := 0.01;
ImageEnView1.IO.SaveToFile( 'D:\image01.Heif' );   // 3KB



WebP Size Comparisons

ImageEnView1.IO.LoadFromFile( 'D:\Alpha.png' );   // Original PNG - 335KB


ImageEnView1.IO.Params.Lossless     := True;
ImageEnView1.IO.SaveToFile( 'D:\imageLossless.WebP' );  // 143KB (Lossless)


ImageEnView1.IO.Params.ImageQuality := 1.0;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image100.WebP' );  // 62KB


ImageEnView1.IO.Params.ImageQuality := 0.9;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image90.WebP' );   // 38KB


ImageEnView1.IO.Params.ImageQuality := 0.7;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image70.WebP' );   // 26KB


ImageEnView1.IO.Params.ImageQuality := 0.5;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image50.WebP' );   // 23KB


ImageEnView1.IO.Params.ImageQuality := 0.2;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image20.WebP' );   // 20KB


ImageEnView1.IO.Params.ImageQuality := 0.01;
ImageEnView1.IO.Params.Lossless     := False;
ImageEnView1.IO.SaveToFile( 'D:\image01.WebP' );   // 17KB



See Also

Lossless