Тривиальный инструмент, который объединяет несколько ICO/PNG в один файл .ICO, сохраняющий формат каждого фрагмента изображения.
Командная строка:
icomake.exe output.ico input1 [input2 [...]]
Поддерживаемые форматы входных файлов:
Выводит один файл ICO, содержащий все входные изображения.
Windows Vista и более поздние версии поддерживают файлы ICO, содержащие фрагменты изображений PNG. Большинство графических приложений (по крайней мере, тех, которые я использую) сохраняют только формат 256×256 в формате PNG, но все файлы, даже 16×16, тоже могут безопасно быть PNG. Таким образом, укажите цель этого инструмента, поскольку PNG-изображения на порядок меньше несжатых растровых изображений.
Примечание. Чтобы ICO отображались в Windows XP и более ранних версиях, а также, возможно, в других ОС, по крайней мере некоторые значки должны храниться в виде растровых изображений. Иконка не менее 32×32, в идеале также 16×16, 24×24 и 48×48. Этот инструмент не конвертирует и не может конвертировать PNG в BMP ICO.
Загрузчик значков Windows перебирает все значки в файле, оценивая разницу между запрошенными и доступными значками, останавливаясь только при точном совпадении. Оценка проводится как по разрешению, так и по глубине цвета, причем разрешение отдается предпочтение глубине цвета; правда, только в определенной степени.
Чтобы сэкономить несколько циклов и вызвать ранний возврат при совпадении, этот инструмент сначала размещает наиболее вероятные значки. Он также соблюдает рекомендации Microsoft для программного обеспечения XP, помещая на первое место 9 наиболее распространенных размеров значков. Если бы все разрешения были доступны, порядок был бы следующий:
Конечно, вопрос о том, лучший ли это порядок, открыт для дискуссии.