.ICNS вариант №
Формат значков, используемый программами macOS, называется файлом ICNS. Он поддерживает 1-битные и 8-битные альфа-каналы и сохраняет одно или несколько изображений, обычно сделанных из документов PNG. Значок программы в браузере и интерфейсе macOS отображается с использованием файлов ICNS.
В зависимости от местоположения один и тот же значок стиля может иметь несколько настроек. Формат ICNS претерпел многочисленные изменения и развился до такой степени, что теперь его можно использовать в качестве основы для различных совместимых форматов. Вот еще несколько важных моментов, которые вам нужно знать:
- Ресурс IconFamily, значок Macintosh, значок Macintosh OS X, значок Mac OS, значок Apple, ресурс значка Mac OS X и ресурс значков Mac OS — некоторые из других названий.
- Для информации о значке используется источник в ветке ресурсов.
- В большинстве случаев файл содержит множество изображений. Поддерживаются размеры изображения 1612 квадратных пикселей и 1024, 512, 256, 128, 48, 32 и 16 квадратных пикселей.
Формат файла ICNS
Формат данных ICNS представляет собой капсулу для одного или нескольких изображений, поддерживающую 1-битные полосы и многочисленные состояния изображения. Операционная система может изменять размер изображений значков в соответствии с требуемым размером экрана. Изображения значков большего размера обычно сохраняются в виде файлов JPEG 2000 или PNG. Возможен тип как сжатых, так и несжатых файлов ICNS.
Данные заголовка и двоичного значка составляют структуру файла ICNS. Заголовок содержит 8 байтов данных, четыре из которых представляют собой магический литерал, а четыре — длину файла. Тип и размер каждого изображения значка хранятся в разделе данных значка, за которым следуют двоичные данные изображения. Размер изображения определяет размер двоичного раздела.
Техническая спецификация
Заголовок
Смещение | Размер | Цель |
---|---|---|
0 | 4 | Магический литерал, должен быть “icns” (0x69, 0x63, 0x6e, 0x73) |
4 | 4 | Длина файла в байтах, сначала старший бит |
Данные значка
Смещение | Размер | Цель |
---|---|---|
0 | 4 | Тип значка |
4 | 4 | Длина данных в байтах (включая тип и длину), сначала старший бит |
8 | Переменная | Данные значка |
Сжатие
Пиксельные данные сжимаются до некоторой степени. 32-битные («is32», «il32», «ih32», «it32») и ARGB («ic04», «ic05») пиксели часто сжимаются (на канал) аналогично PackBits.
Первое значение | Хвостовые байты | Результат (несжатый) |
---|---|---|
0–127 | 1–128 | 1–128 байт |
128–255 | 1 байт | 3–130 копий |