Що таке файл ICO?
Файли з розширенням ICO – це типи файлів зображень, які використовуються як піктограми для представлення програми в Microsoft Windows. Вони мають різні розміри, підтримку кольорів і роздільну здатність відповідно до вимог дисплея. Іншим подібним форматом файлу зображення в Microsoft Windows є CUR для представлення курсору та визначає гарячу точку в заголовку зображення. У MacOS формати файлів ICNS служать тій самій меті, що і файли ICO. Кілька веб-сайтів і програм надають можливість створювати такі файли та перетворювати інші формати зображень, як-от BMP, PNG тощо, у формат файлу значків. Офіційним зареєстрованим IANA типом Інтернет-носія для файлів ICO є image/vnd.microsoft.icon.
Коротка історія
Піктограми були представлені разом із запуском Microsoft Windows 1.0. Вони були розміром 32x32 і були монохромними. З появою win32 було введено підтримку зображень піктограм у справжніх кольорах із розміром до 256x256 пікселів. Windows XP була першою, яка забезпечила підтримку 32-розрядних кольорових зображень піктограм, дозволяючи додавати до піктограм напівпрозорі області, як-от тіні, згладжування та ефекти скла. Для Windows XP корпорація Майкрософт рекомендує лише розмір піктограм до 48×48 пікселів. Windows Vista додала до Провідника Windows перегляд піктограм розміром 256×256 пікселів, а також підтримку стисненого формату PNG. Якщо користувачі використовують вищу роздільну здатність і режими високої роздільної здатності, рекомендуються більші формати значків (наприклад, 256×256).
Формат файлу ICO
Один файл ICO складається з одного або кількох невеликих зображень різних розмірів і глибини кольору. Наявність зображень різних розмірів для відповідного масштабування при різних дозволах екрана. Усі значення у файлах ICO/CUR представлені в порядку байтів little-endian.
Файл ICO складається із заголовка значка, каталогу значків,
Поле | Опис |
---|---|
Заголовок значка | Зберігає загальну інформацію про файл ICO. |
Каталог[1..n] | Зберігає загальну інформацію про кожне зображення у файлі. |
Значок №1 | Фактичні «дані» для першого зображення в старому форматі AND/XOR DIB або новішому PNG |
… | |
Значок #n | Дані для останнього зображення значка |
Заголовок
Зсув | Розмір (у байтах) | Призначення |
---|---|---|
0 | 2 | Зарезервовано. Завжди має бути 0. |
2 | 2 | Визначає тип зображення: 1 для зображення значка (.ICO), 2 для зображення курсора (.CUR). Інші значення недійсні. |
4 | 2 | Вказує кількість зображень у файлі. |
Каталог
Каталог, що міститься у файлі ICO, представлений як структура ICONDIR, містить структуру ICONDIRECTORY для кожного зображення у файлі. За цим же слідує безперервний блок усіх растрових даних зображення. Це показано нижче.
Зсув | Розмір | Опис |
---|---|---|
0 (0) | 1 | Ширина, має бути 0, якщо 256 пікселів |
1 (1) | 1 | Висота має бути 0, якщо 256 пікселів |
2 (2) | 1 | Кількість кольорів має бути 0, якщо більше 256 кольорів |
3 (3) | 1 | Зарезервовано, має бути 0 |
4 (4) | 2 | Кольорові площини у форматі .ICO мають бути 0 або 1, або гаряча точка X у форматі .CUR |
6 (6) | 2 | Біт на піксель у форматі .ICO або точка доступу Y у форматі .CUR |
8 (8) | 4 | Розмір растрових даних у байтах. |
12 (C) | 4 | Зсув у файлі. |