class

CrImage::ICO::Writer

Inherits Reference / Object

Writes ICO (Windows Icon) files

Encodes images as 32-bit BMP with alpha channel for maximum compatibility. Supports writing single icons or multi-resolution ICO files.

Limitations

  • Maximum 256 images per file
  • All images encoded as 32-bit BGRA BMP
  • Recommended sizes: 16, 32, 48, 64, 128, 256 pixels

Class methods

write(path : String, image : CrImage::Image) : Nil

Writes a single image as ICO file

Creates an ICO containing one icon at the image's dimensions.

Source
write(io : IO, image : CrImage::Image) : Nil

Writes a single image to IO as ICO

Source
write_multi(path : String, images : Array(CrImage::Image)) : Nil

Writes multiple images as multi-resolution ICO file

Creates an ICO containing multiple icon sizes. This is recommended for favicons and application icons to support different display contexts.

Raises ArgumentError if array is empty or contains more than 256 images.

Source
write_multi(io : IO, images : Array(CrImage::Image)) : Nil

Writes multiple images to IO as multi-resolution ICO

Source