Введение

Формат изображения Apple Icon (.icns) — формат иконки, используемый в macOS от Apple Inc. Он поддерживает иконки размером 16 × 16, 32 × 32, 48 × 48, 128 × 128, 256 × 256, 512 × 512 пикселей в масштабе 1x и 2x, с альфа-каналами глубиной 1 и 8 бит, а также различные состояния изображения (например, открытые и закрытые папки). Операционная система может масштабировать иконки фиксированного размера и отображать их в любом промежуточном размере. Начиная с macOS 11, для пользовательских значков macOS предпочтительным форматом файлов являются каталоги ресурсов.

Структура файла

Формат файла состоит из 8-байтового заголовка, за которым следует любое количество иконок.

Данные иконки

Оффсет Размер Назначение 0 4 Тип иконки, см. OSType ниже. 4 4 Длина данных в байтах (включая тип и длину), старший байт первый 8 Данные иконки (переменная длина)

Типы икон

Тип OSType Длина (байты) Размер (пиксели) Поддерживаемая версия ОС Описание 128 32×32 1.0 Монохромная иконка 1 бит 256 32×32 6.0 Монохромная иконка 1 бит с маской 1 бит 48 16×12 6.0 Монохромная иконка 1 бит с маской 1 бит 96 16×12 7.0 Иконка 4 бита 192 16×12 7.0 Иконка 8 бит 64 16×16 6.0 Монохромная иконка 1 бит с маской 1 бит 128 16×16 7.0 Иконка 4 бита 256 16×16 7.0 Иконка 8 бит варьируется (768) 16×16 8.5 Иконка RGB 24 бита 256 16×16 8.5 Маска 8 бит 512 32×32 7.0 Иконка 4 бита 1024 32×32 7.0 Иконка 8 бит варьируется (3072) 32×32 8.5 Иконка RGB 24 бита 1024 32×32 8.5 Маска 8 бит 576 48×48 8.5 Монохромная иконка 1 бит с маской 1 бит 1152 48×48 8.5 Иконка 4 бита 2304 48×48 8.5 Иконка 8 бит варьируется (6912) 48×48 8.5 Иконка RGB 24 бита 2304 48×48 8.5 Маска 8 бит варьируется (49152 + 4) 128×128 10.0 Иконка RGB 24 бита 16384 128×128 10.0 Маска 8 бит варьируется 16x16 10.7 Формат JPEG 2000 или PNG или иконка RGB 24 бита варьируется 32x32 10.7 Формат JPEG 2000 или PNG или иконка RGB 24 бита или "шаблон". Инфо-бинарный plist. Использование неизвестно (похоже, используется только поле имени). Вложенный файл "шаблон" icns. Использование неизвестно. Вложенный файл "выбранный" icns. Использование неизвестно. Вложенный "темный" файл ICNS. Разрешает автоматическое переключение значков в темном режиме (добавлен в macOS 10.14). Примечание: Содержимое этой записи представляет собой полный файл icns с несколькими форматами. Если байты записи записаны на диск, то заголовок файла icns и размер файла все равно требуются для просмотра полной иконы темного режима. В таблице содержимого представлен список всех содержащихся типов (имя типа 4 байта + длина 4 байта). Данные для всех вложенных файлов icns не содержат заголовок файла icns. Так что, если вы хотите сохранить данные в файл, вы должны добавить заголовок icns.