ICO (формат файлов) | это... Что такое ICO (формат файлов)? (original) (raw)
ICO, Windows icon
Расширение | .ico |
---|---|
MIME | image/vnd.microsoft.icon[1] |
Разработан | Microsoft |
Тип формата | растровая графика |
ICO (Windows icon) — формат хранения значков файлов в Microsoft Windows.
Формат ICO аналогичен формату CUR (Windows cursors), предназначенному для хранения курсоров. Отличие состоит в численном значении одного поля в заголовочной структуре, и интерпретации значений двух других полей этой же структуры.
Один ICO-файл содержит один или несколько значков, размер и цветность каждого из которых задаётся отдельно. Размер значка может быть любым, но наиболее употребимы квадратные значки со стороной 16, 32 и 48 пикселов. Также используются значки с размером 24, 40, 60, 72, 92, 108, 128 пикселов.
Начиная с Windows 98/2000, формат поддерживает внедрение изображений в формате JPEG и PNG, но обычно данные значков хранятся в несжатом виде.[источник не указан 1100 дней]
Значки бывают в естественном цвете (True Color, глубина цвета 24 бит), High Color (глубина цвета 16 бит), или с фиксированной палитрой (из двухсот пятидесяти шести, шестнадцати, или всего из двух цветов). В этом случае число, соответствующее каждому пикселу указывает не на цвет, а на номер цвета в палитре.
По своей структуре изображения в файле ICO наиболее близки к BMP, но принципиально отличаются от них наличием дополнительного изображения — маски, накладываемой на задний план при помощи операции побитового «И», что позволяет реализовать (полную) прозрачность рисунка. Последующее наложение основного изображения с помощью «исключающего ИЛИ» может даже дать «инверсные» пиксели в тех местах, где задний план не был замаскирован.
Кроме того, начиная с Windows XP поддерживаются 32-битные значки — каждому пикселу соответствует 24-бита цвета и 8-битный альфа-канал, позволяющий реализовать 256 уровней частичной прозрачности. С помощью альфа-канала можно отображать значки со сглаженными (размытыми) краями и тенью, сочетающимися с любым фоном; маска в этом случае игнорируется.
Содержание
Формат файла
Файл состоит из заголовка фиксированной длины, каталога информации о изображениях и непосредственно изображений.
Заголовок
Заголовок имеет размер 6 байт:
Поле | Смещение | Размер(в байтах) | Описание |
---|---|---|---|
reserved | 0 | 2 | Зарезервировано. Всегда 0. |
type | 2 | 2 | Тип файла: 1 для значков (.ICO) 2 для курсоров (.CUR) Иные значения недопустимы. |
count | 4 | 2 | Количество изображений в файле, минимум 1. |
Каталог информации об изображениях
Представляет собой последовательные записи фиксированного размера (16 байт), следующие одна за другой. Количество записей определяется полем count
заголовка.
Поле | Смещение | Размер(в байтах) | Описание |
---|---|---|---|
width | 0 | 1 | Указывает ширину изображения в точках. Может принимать значения от 0 до 255. Если указано 0, то изображение имеет ширину 256 точек. |
height | 1 | 1 | Указывает высоту изображения в точках. Может принимать значения от 0 до 255. Если указано 0, то изображение имеет высоту 256 точек. |
colors | 2 | 1 | Указывает количество цветов в палитре изображения. Для полноцветных значков должно быть 0. |
reserved | 3 | 1 | Зарезервировано. Должно быть 0. В технической документации Microsoft указано, что это значение всегда должно быть 0, однако значки, которые создаются встроенными средствами .NET (System.Drawing.Icon.Save) содержат в этом поле значение 255. |
planes | 4 | 2 | В .ICO определяет количество плоскостей. Может быть 0 или 1. В .CUR определяет горизонтальную координату "горячей точки" в пикселях относительно левого края изображения. |
bpp | 6 | 2 | В .ICO определяет количество битов на пиксель (bits-per-pixel). Это значение может быть 0, так как легко получается из других данных; например, если изображение не хранится в формате PNG, тогда количество битов на пиксель рассчитывается на основе информации о размере растра, а также его ширине и высоте. Если же изображение хранится в формате PNG, то соответствующая информация хранится в самом PNG. Однако указывать в этом поле 0 не рекомендуется, так как логика выбора наилучшего изображения в различных версиях Windows неизвестна. В .CUR определяет вертикальную координату "горячей точки" в пикселях относительно верхнего края изображения. |
size | 8 | 4 | Указывает размер растра в байтах |
offset | 12 | 4 | Указывает абсолютное смещение растра в файле. |
Примечания
См. также
Ссылки
![]() |
|
---|---|
Видео/аудио | 3GP • ASF • AVI • Bink • DMF • DPX • EVO • FLV • Matroska (MKV) • WebM • MPEG-PS • MPEG-TS • MP4 • MXF • NUT • Ogg • Ogg Media • QuickTime • RealMedia • Smacker • RIFF • VOB • сравнение • сжатие |
Аудио | AIFF • APE • AU • DSD • DXD • MLP • MP3 • FLAC • SHN (англ.) WAV • WMA • сравнение • сжатие |
Графические форматы (сжатие) | |
Растровые | Без потерь: BMP • FPX • GIF • ICO • ILBM • JBIG • PCX • PNG • PNM • PSD • RAW • TGA • WBMP • XCF • Включая сжатие с потерями: EXR • ICER • JBIG2 • JPEG / JP2 / JPEG-LS • JPEG XR (HD Photo) • PGF (англ.) • TIFF • WebP • Анимационные: APNG • GIF • MNG |
Векторные | AI • CDR • EMF • EPS • PS • SVG • WMF • XPS • Анимационные: SVG • SWF • 3D: 3DS • VRML • X3D |
Комплексные | CGM • DjVu • PDF |