Що таке ICO простими словами?

Що таке ICO простими словами?

ICO - це графічний формат файлу для піктограм комп 'ютерів у Microsoft Windows. Файли ICO містять одне або декілька зображень з кількома розмірами і глибиною кольору, що дозволяє масштабувати їх відповідним чином. У Windows всі виконувані файли на стільниці, в меню "Пуск" або в провіднику "Віндіс", повинні мати значок у форматі ICO. Що таке цей файл?

Наприклад, це значок комп 'ютера, який можна побачити на стільниці в якості пункту "Мій комп' ютер", а також зображення палітри, що означає програму Paint. Файли ICO тісно пов "язані з файлами CUR. Чим вони відрізняються один від одного?

Формат файлу CUR - це майже ідентичний графічний формат для неанімованих курсорів у Microsoft Windows. Єдиними відмінностями між цими двома різновидами файлів є байти, які використовуються для їх ідентифікації, а також додавання точки доступу до заголовка CUR. Точка доступу визначається як зміщення пікселя (в координатах x, y) з верхнього лівого кута зображення, де користувач фактично вказує на мишу.

Історія формату: що таке ICO

З 'явилися ці файли ще в перших дистрибутивах "Віндовс". З часом вони помітно змінилися.

Піктограми, введені у Windows 1.0, мали розмір 32 32 пікселя і були монохромними. Підтримка 16 кольорів була представлена в "Віндовс 3.0".

Win32 представила підтримку до 16,7 мільйонів кольорів (Truecolor) і 256x256 пікселів у розмірах. Windows 95 також мала новий движок Device Independent Bitmap (DIB). Проте для піктограм у цій версії було використано лише 256 кольорів. Можна було включити кольори 65535 (Highcolor), змінивши значення значка командного рядка Shell в реєстрі або купивши доповнення Microsoft Plus! для Windows 95.

Параметри Shell дозволяли використовувати більші піктограми замість 32 32 у файлі ICO. Що таке це означало? Один файл міг зберігати в собі зображення будь-якого розміру від 1 1 до 256 256 пікселів (включаючи неквадратні розміри) з 2 (рідко використовуваними), 16, 256, 65535 або 16,7 мільйонами кольорів. Однак, на практиці "оболонка" все одно не могла відображати значки великого колірного діапазону. Область сповіщення панелі завдань "Віндовс" була обмежена 16 відтінками за замовчуванням до виходу Windows Me. Це означало, що незалежно від налаштувань, іконки відображалися на екрані однотипно.

Подальший розвиток

Windows XP додала підтримку 32-бітового кольору (16,7 мільйона кольорів плюс прозорість альфа-каналу), що дозволило відображати в іконці такі напівпрозорі області, як тіні, згладжування і скляні ефекти. Цей дистрибутив типово використовував піктограми 48 48 пікселів у "Провіднику" Віндовс. Windows XP могла бути налаштована таким чином, що всі іконки починали відображатися в розмірі 256 ^ 256 (за допомогою зміни значень розміру в Shell), але вибіркове їх редагування було недоступне. Техпідтримка Microsoft рекомендувала встановлювати розміри піктограм до 48 48 пікселів для версії XP.


У версії "Віста"

Windows Vista додала можливість відображення іконок 256 ^ 256 пікселів у "Провіднику", а також підтримку стисненого формату PNG. Незважаючи на те, що з технічної точки зору стиснення не потрібно, підтримка Microsoft рекомендувала, щоб всі значки 256 ^ 256 в ICO-файлах зберігалися в форматі PNG. Це дозволяло зменшити загальний розмір файлу.

"Провідник" Windows Vista підтримував плавне масштабування іконок до нестандартних розмірів, які відображалися "на льоту", навіть якщо в самому файлі було відсутнє зображення. У цьому дистрибутиві ОС було додано слайдер для "масштабування" розмірів значків в цілому. При використанні режиму з вищою роздільною здатністю та DPI рекомендовано використовувати більші формати іконок (наприклад, 256 │ru 256).

Структура ресурсу Icon

Формат зберігання файлів значків у Microsoft Windows наступний. ICO або CUR складається зі структури ICONDIR ("Каталог значків"), що містить набір даних ICONDIRENTRY для кожного зображення у файлі, за яким слідує безперервний блок всіх растрових картинок (які можуть бути у форматі Windows BMP).

Зображення з глибиною менше 32 біт відповідають конкретному формату: картинка кодується як одна, що складається з кольорової маски (XOR) разом з маскою непрозорості. При цьому перша повинна передувати другій всередині даних растрового зображення. Якщо зображення зберігається в порядку знизу вгору, маска XOR малюватиметься нижче непрозорої.

Розмір останньої становить 1 біт на піксель, незалежно від глибини кольору, вказаної в заголовку BMP. Маска непрозорості вказує, які пікселі повністю прозорі, а які ні. XOR відповідає глибині біта, позначеній у заголовку BMP, і вказує числове значення кольору або палітри для кожного пікселю. Разом обидві маски створюють непрозоре зображення, що являє собою картинку з 1-бітовою прозорістю; вони також допускають інверсію фону. Висота зображення в структурі ICONDIRENTRY файлів ICO і CUR приймає значення передбачуваних його розмірів (після компонування масок), тоді як визначення висоти в заголовку BMP визначається до їх компонування. З цієї причини маски повинні мати однакові розміри, а висота, зазначена в заголовку BMP, повинна бути в два рази вище, ніж у структурі ICONDIRENTRY.

Оновлена структура

Що таке ICO-32? Цей формат представляє собою 24-бітове зображення з додаванням 8-бітового каналу для альфа-компонування. Таким чином, у 32-бітових зображеннях маски не потрібні, але все одно їх використання рекомендується для кращого розгляду картинки.

Windows версії XP і вище почали використовувати 32-бітове зображення в режимі True color, побудувавши маску AND на основі альфа-каналу у випадках, коли 24-розрядна версія не представлена в файлі ICO/CUR. Однак більш ранні версії Windows інтерпретують всі пікселі зі 100% непрозорістю, якщо тільки відповідна маска не забезпечена зображенням.


Дані зображення посилання

Всі дані зображення, які посилаються на записи в каталозі, надходять безпосередньо з нього. Звичайна практика полягає в тому, щоб зберігати їх в тому ж порядку, що і в каталозі зображень.

Так, якщо зображення зберігається у форматі BMP, воно повинно виключати відкриту структуру BITMAPFILEHEADER, тоді як якщо воно зберігається в форматі PNG, вона повинна зберігатися цілком.

Кількість бітів

Класичний формат растрового зображення BITMAPINFOHEADER підтримує його збереження з 32 бітами на піксель. Під час запису як автономний файл BMP його поділ не використовується. Однак коли ці дані зберігаються всередині файлу ICO або CUR, Windows XP (перша версія "Віндовс" для підтримки формату файлів ICO/CUR з більш ніж 1 біт прозорості) і вище інтерпретує цей байт як альфа-значення.

Хоча в технічній документації Microsoft зазначено, що це значення має бути нульовим, кодувальник значків, вбудований в .NET (System.Drawing.Icon.Save), встановлює його як 255. Схоже, що операційна система на практиці повністю ігнорує це значення.

Налаштування кольорових площин на 0 або 1 обробляється еквівалентно операційній системі, але якщо вони встановлені вище 1, це значення має бути помножено на біти на пікселях, щоб визначити остаточну глибину кольору зображення. Невідомо, чи стійкі різні версії операційної системи Windows до різних значень колірної площини.


Біти на піксель можуть бути встановлені на нуль, але також можуть бути виведені з інших даних. Зокрема, якщо бітмап не стиснутий PNG, тоді вони можуть бути розраховані на основі довжини даних растрового зображення щодо його розміру. Якщо бітмап стиснутий PNG, біти на піксель зберігаються в даних цього файла.

Невідомо, чи містять різні версії операційної системи Windows формулу для визначення глибини бітів для всіх можливостей, якщо це значення встановлено на нуль.

Формат PNG

У Windows Vista з 'явилася можливість читати зображення PNG з формату ICO і CUR. PNG може бути збережено так само, як і стандартна іконка BMP у форматі Windows Icon, за винятком того, що зображення має зберігатися повністю разом з його заголовком файлу.

Icon library

Бібліотека піктограм - це спосіб встановлення іконок Windows. Зазвичай це виконуваний 16-або 32-розрядний двійковий файл, що має розширення .ICL. Він має файли піктограм, які використовуються як іконки. Windows Vista і більш пізні версії не підтримують перегляд іконок нижче 16-розрядних.

Це основна інформація щодо формату файлів ICO (що таке простими словами). Просто кажучи, це іконка будь-якої програми або каталогу в комп 'ютері. Вона представляє собою частину графічного інтерфейсу і може позначати будь-який файл, вікно, каталог, драйвер пристрою, елемент ОС тощо. При натисканні на таку іконку відбувається якась очікувана дія.


Окремо варто відзначити значки, що містять тільки посилання на програми або дані, відомі як ярлики. Вони теж в даний час позначаються файлами формату ICO. Чим же ще примітний цей різновид файлів?

Вище були вказані технічні характеристики такої іконки в форматі ICO, але які картинки можуть бути використані в цих файлах? Певні зображення є вбудованими в операційну систему і пропонуються за замовчуванням. Однак через їх однотипність виникла тенденція щодо створення різних значків або навіть їх груп, чим займаються незалежні художники.