Изображение Яблоко Icon формат является значок формат , используемый в Apple , Inc. «s MacOS . Он поддерживает значки размером 16 × 16, 32 × 32, 48 × 48, 128 × 128, 256 × 256, 512 × 512 точек в масштабе 1x и 2x, с 1- и 8-битными альфа-каналами и несколькими состояниями изображения (пример : открытые и закрытые папки). Значки фиксированного размера могут масштабироваться операционной системой и отображаться в любом промежуточном размере.
Расширение имени файла | .icns |
---|---|
Тип интернет-СМИ | изображение / x-icns |
Типовой код | icns |
Единый идентификатор типа (UTI) | com.apple.icns |
Разработано | Apple Inc. |
Тип формата | формат файла значка |
Начиная с macOS 11 PNG стал предпочтительным форматом файлов для пользовательских значков macOS. [1]
Файловая структура
Формат файла состоит из 8-байтового заголовка, за которым следует любое количество значков.
Заголовок
Компенсировать | Размер | Цель |
---|---|---|
0 | 4 | Волшебный литерал, должен быть icns (0x69, 0x63, 0x6e, 0x73) |
4 | 4 | Длина файла в байтах, сначала msb |
Данные значка
Компенсировать | Размер | Цель |
---|---|---|
0 | 4 | Тип значка, см. OSType ниже. |
4 | 4 | Длина данных в байтах (включая тип и длину), сначала старший бит |
8 | Переменная | Данные значка |
Сжатие
ценность свинца | хвостовые байты | результат без сжатия |
---|---|---|
0…127 | 1…128 | 1…128 байты |
128…255 | 1 байт | 3…130 копии |
Со временем формат был улучшен, и появилась поддержка сжатия некоторых частей данных пикселей. 32-битные («is32», «il32», «ih32», «it32») и ARGB («ic04», «ic05») пиксельные данные часто сжимаются (для каждого канала) с форматом, аналогичным PackBits . [2] В некоторых источниках упоминается, что ОС поддерживает как сжатые, так и несжатые блоки данных.
Следующий псевдокод распаковывает данные:
Пока есть сжатые данные: Считать один байт как беззнаковое число N Если N <0x80: Вывести следующие (N + 1) байта Еще: Вывести следующий байт (N - 0x80 + 3) раз
Пример: 02 01 02 02 80 03 81 04 82 05
следует распаковать до01 02 02 03 03 03 04 04 04 04 05 05 05 05 05
Типы иконок
OSType | Длина (байты) | Размер (в пикселях) | Поддерживаемая версия ОС | Описание |
---|---|---|---|---|
ИКОНА | 128 | 32 | 1.0 | 32 × 32 1-битный монохромный значок |
ICN № | 256 | 32 | 6.0 | 1-битный монохромный значок 32 × 32 с 1-битной маской |
icm # | 48 | 16 | 6.0 | 16 × 12 1-битный монохромный значок с 1-битной маской |
icm4 | 96 | 16 | 7.0 | 16 × 12 4-битный значок |
icm8 | 192 | 16 | 7.0 | 16 × 12 8-битный значок |
ics # | 64 (32 изображения + 32 маски) | 16 | 6.0 | 16 × 16 1-битная маска |
ics4 | 128 | 16 | 7.0 | 16 × 16 4-битный значок |
ics8 | 256 | 16 | 7.0 | 16x16 8-битный значок |
is32 | варьируется (768) | 16 | 8,5 | 16 × 16 24-битный значок |
s8mk | 256 | 16 | 8,5 | 16x16 8-битная маска |
icl4 | 512 | 32 | 7.0 | 32 × 32 4-битный значок |
icl8 | 1,024 | 32 | 7.0 | 32 × 32 8-битный значок |
il32 | варьируется (3072) | 32 | 8,5 | 32x32 24-битный значок |
l8mk | 1,024 | 32 | 8,5 | 32 × 32 8-битная маска |
ich # | 288 | 48 | 8,5 | 48 × 48 1-битная маска |
ich4 | 1,152 | 48 | 8,5 | 48 × 48 4-битный значок |
ich8 | 2 304 | 48 | 8,5 | 48 × 48 8-битный значок |
ih32 | варьируется (6912) | 48 | 8,5 | 48 × 48 24-битный значок |
h8mk | 2 304 | 48 | 8,5 | 48 × 48 8-битная маска |
it32 | варьируется (49,152) | 128 | 10.0 | 128 × 128 24-битный значок |
t8mk | 16 384 | 128 | 10.0 | 128 × 128 8-битная маска |
icp4 | варьируется | 16 | 10,7 | Значок 16x16 в формате JPEG 2000 или PNG формате |
icp5 | варьируется | 32 | 10,7 | Иконка 32х32 в формате JPEG 2000 или PNG формате |
icp6 | варьируется | 64 | 10,7 | Значок 64x64 в формате JPEG 2000 или PNG формате |
ic07 | варьируется | 128 | 10,7 | 128x128 значок в формате JPEG 2000 или PNG формате |
ic08 | варьируется | 256 | 10,5 | 256 × 256 иконок в формате JPEG 2000 или PNG формате |
ic09 | варьируется | 512 | 10,5 | 512 × 512 значок в JPEG 2000 или PNG формате |
ic10 | варьируется | 1024 | 10,7 | 1024 × 1024 в 10,7 (или 512x512 @ 2x "сетчатки" в 10.8) значок в JPEG 2000 или PNG формате |
ic11 | варьируется | 32 | 10,8 | 16x16 @ 2x значок "сетчатка" в 2000 JPEG или PNG формате |
ic12 | варьируется | 64 | 10,8 | 32х32 @ 2x значок «сетчатка» в 2000 JPEG или PNG формате |
ic13 | варьируется | 256 | 10,8 | 128x128 @ 2x значок "сетчатка" в 2000 JPEG или PNG формате |
ic14 | варьируется | 512 | 10,8 | 256x256 @ 2x значок "сетчатка" в 2000 JPEG или PNG формате |
ic04 | варьируется | 16 | 16x16 ARGB | |
ic05 | варьируется | 32 | 32x32 ARGB | |
icsB | варьируется | 36 | 36x36 | |
icsb | варьируется | 18 | 18x18 |
- значения в скобках () в столбце длины - длина без сжатия.
- формат ARGB состоит из значений ascii для 'ARGB' и четырех сжатых каналов, плотно упакованных
Другие типы
OSType | Длина (байты) | Описание |
---|---|---|
"ТОС" | варьируется | «Оглавление» - список всех типов изображений в файле и их размеров (добавлено в Mac OS X 10.7 ). |
'icnV' | 4 | 4-байтовое число с обратным порядком байтов, равное номеру версии пакета Icon Composer.app, созданного для icon |
'название' | Неизвестный | |
'Информация' | 259 | Информационный двоичный список. Использование неизвестно |
Служба поддержки
Различные программы просмотра изображений могут загружать *.icnsфайлы, а также существуют бесплатные конвертеры с открытым исходным кодом из или в PNG . [3] [4] GTK + может загружать *.icnsресурсы с 2007 года. [5] Другие инструменты, поддерживающие формат, включают Apple Icon Composer и icns Browser , Iconfactory и IconBuilder .
MacOS [ требуется пояснение ] предлагает встроенный iconutil
инструмент командной строки для упаковки и распаковки *.icnsфайлов.
Внешние ссылки
- IconFamily - Класс Objective C с открытым исходным кодом для чтения и записи файлов Apple icns
- osxiconutils - инструменты командной строки для работы с файлами Apple icns
Смотрите также
- Формат ICO в Windows
- Формат X PixMap для X11
Рекомендации
- ^ «Рекомендации по человеческому интерфейсу» . Apple , Inc . Проверено 10 апреля 2021 года .
- ^ Значки Macintosh
- ^ "libicns" . Icns проекта SourceForge . 2009 . Проверено 18 августа 2016 года .
- ^ "png2icns" . Мойн Уддин. 2016 . Проверено 25 мая 2017 года .
- ^ Лионель Винсент (2007). «Иконки Mac OS X для GTK +» . Проверено 18 августа 2016 года .