A crate for creating multi-size ICO files from separate images.
Find a file
Tau Gärtli b4e7091a9a
All checks were successful
CI / build (push) Successful in 30s
Bump version & update changelog
2026-01-13 12:34:13 +01:00
.forgejo/workflows Update pipeline 2026-01-13 12:32:46 +01:00
examples Add example 2023-04-18 23:38:15 +02:00
src Test readme 2024-05-30 15:37:37 +02:00
.editorconfig Initial commit 2023-03-04 21:00:35 +01:00
.gitattributes Initial commit 2023-03-04 21:00:35 +01:00
.gitignore Add example 2023-04-18 23:38:15 +02:00
.mailmap Update author 2024-01-28 13:40:07 +01:00
Cargo.lock Bump version & update changelog 2026-01-13 12:34:13 +01:00
Cargo.toml Bump version & update changelog 2026-01-13 12:34:13 +01:00
changelog.md Bump version & update changelog 2026-01-13 12:34:13 +01:00
license-apache.txt Initial commit 2023-03-04 21:00:35 +01:00
license-mit.txt Update author 2024-01-28 13:40:07 +01:00
readme.md Test readme 2024-05-30 15:37:37 +02:00
rustfmt.toml Initial commit 2023-03-04 21:00:35 +01:00

ICO Builder

A crate for creating multi-size ICO files from separate images. The images are automatically resized to the specified sizes.

Usage

This example creates an ICO with the bare minimum icon sizes: 16x16, 24x24, 32x32, 48x48, 256x256. For each size, the closest source file is chosen and resized as needed.

use ico_builder::IcoBuilder;

IcoBuilder::default()
  .add_source_file("app-icon-32x32.png")
  .add_source_file("app-icon-256x256.png")
  .build_file("app-icon.ico");

Docs

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.