Какво е 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-битови цветни изображения на икони, позволявайки добавянето на полупрозрачни области като сенки, изглаждане и подобни на стъкло ефекти към иконата. Microsoft препоръчва само размери на иконите до 48×48 пиксела за Windows XP. Windows Vista добави изглед на икони с размери 256×256 пиксела към Windows Explorer, както и поддръжка за компресирания PNG формат. При потребители, които използват по-високи разделителни способности и режими с висок DPI, се препоръчват по-големи формати на икони (като 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 | Отместване във файла. |