ImageEn, unit ImageEnIO

TImageEnIO.SaveToFileICO

TImageEnIO.SaveToFileICO

Declaration

procedure SaveToFileICO(const FileName: WideString);

Description

Save the current image to a file in ICO format. ICO format allows storing multiple images with different resolutions and sizes.

FileName is the file name including extension.
ImageEn creates for you the sub-images to save, you have only to set the Params.ICO_BitCount and Params.ICO_Sizes arrays.


Note:
◼To control each image separately, use the IEWriteICOImages function
◼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

Demo

Demo  Demos\ImageEditing\IconEditor\IconEditor.dpr

Example

// Save the current image as 'output.ico'. It will contain three images with 64x64 32bit (24bit + alpha channel), 32x32 256 colors and 32x32 16 colors

// 64 x 64 x 32bit
ImageEnView.IO.Params.ICO_BitCount[0] := 32;
ImageEnView.IO.Params.ICO_Sizes[0].cx := 64;
ImageEnView.IO.Params.ICO_Sizes[0].cy := 64;

// 32 x 32 x 8bit
ImageEnView.IO.Params.ICO_BitCount[1] := 8;
ImageEnView.IO.Params.ICO_Sizes[1].cx := 32;
ImageEnView.IO.Params.ICO_Sizes[1].cy := 32;

// 32 x 32 x 4bit
ImageEnView.IO.Params.ICO_BitCount[2] := 4;
ImageEnView.IO.Params.ICO_Sizes[2].cx := 32;
ImageEnView.IO.Params.ICO_Sizes[2].cy := 32;

// Specify end of images
ImageEnView.IO.Params.ICO_BitCount[3] := 0;
ImageEnView.IO.Params.ICO_Sizes[3].cx := 0;
ImageEnView.IO.Params.ICO_Sizes[3].cy := 0;

// Save
ImageEnView.IO.SaveToFile('D:\output.ico');

See Also

◼SaveToStreamICO
◼LoadFromFileICO
◼ICO_ImageIndex
◼ImageCount
◼IEWriteICOImages
◼Global Image Methods