TImageEnIO.SaveToFileHeif
Declaration
procedure SaveToFileHeif(const FileName: WideString);
Description
Saves the current image to a file in Heif format.
The method used to save Heif files is specified by
ActiveHeifEngine.
To save the image losslessly, set
Lossless to true. Otherwise, specify the level of compression using
ImageQuality.
For HEIF, a quality setting equivalent to 60-75% usually matches the visual fidelity of a 90% quality JPEG.
For AVIF, a value between 20 and 30 is usually the "sweet spot" for high-quality web images.
Note:
◼For
ImageMagick Plug-In, use a
Dictionary to specify quality options
◼If an internal save error is encountered
Aborting will return true. Saving issues due to insufficient write permissions and disk write failures will raise an exception.
◼To abort while saving set
Aborting to true
Examples
// Save an image to a Heif file with 80% quality
ImageEnView1.IO.Params.ImageQuality := 0.80;
ImageEnView1.IO.SaveToFileHeif( 'D:\image.heif' );
// Save an image to a lossless Heif
ImageEnView1.IO.Params.Lossless := True;
ImageEnView1.IO.SaveToFileHeif( 'D:\image.heif' );
// Save an image as a high quality lossy AVIF file
ImageEnView1.IO.Params.Lossless := True;
ImageEnView1.IO.Params.ImageQuality := 30;
ImageEnView1.IO.SaveToFileHeif( 'D:\image.avif' );
Heif Size Comparisons
ImageEnView1.IO.LoadFromFile( 'D:\Alpha.png' ); // Original PNG - 335KB

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

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

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

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

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

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

See Also
◼SaveToStreamHeif
◼LoadFromFileHeif