X PixMap - X PixMap
Было предложено, чтобы эта статья была слился с X BitMap. (Обсуждать) Предлагается с марта 2020 года. |
Немного текстовые редакторы, Например гвим, может отображать изображения xpm в графической форме | |
Расширение имени файла | .xpm |
---|---|
Тип интернет-СМИ | изображение / x-xpixmap[1] |
Разработан | БЫК Исследования |
Тип формата | Форматы файлов изображений |
Расширен с | XBM |
Открытый формат ? | да |
X PixMap (XPM) является формат файла изображения используется X Window System, созданный в 1989 году Даниэлем Дардайлером и Коласом Нахабу, работающими в Центр исследования быков в София Антиполис, Франция, а затем усовершенствован Арно Ле Орсом.[2][3]
Он предназначен в первую очередь для создания значок растровые изображения, и поддерживает прозрачные пиксели. Получено из более раннего XBM синтаксис, это простой текст файл в XPM2 формат или Язык программирования C синтаксис, который может быть включен в файл программы C.[2]
XPM
Формат XPM - это массив строк, состоящий из шести различных разделов:
статический char* <имя_переменной>[] = {<Значения><Цвета><Пикселей><Расширения>};
Это черно-белое изображение в первом (1989 г.) формате XPM.
#define XFACE_format 1#define XFACE_width 48#define XFACE_height 48#define XFACE_ncolors 2#define XFACE_chars_per_pixel 1статический char *XFACE_colors[] = {"а", "#ffffff","б", "#000000"};статический char *XFACE_pixels[] = {"abaabaababaaabaabababaabaabaabaababaaababaabaaab",// и так далее для 48 строк по 48 пикселей
Раздел значений содержит ширину, высоту, количество цветов и количество символов на пиксель.
XPM2
XPM2 упрощает формат, удаляя все C код. Пример:
! XPM248 4 2 1a c #FFFFFFb c # 000000abaabaababaaabaabababaabaabaababaabaaababaabaaababaabaababaaabaabababaabaabaababaabaaababaaababaabaababaaabaabababaabaabaababaababaaababaabaaababaabaababaabaabaabaababababababaaababaaababaabaabaabaabaabaabaabababababaababa
Это файл XPM2 с шириной 48, высотой 4, 2 цветами и 1 символом на пиксель. Известно, что один инструмент использует только а к п для 16 цветов, переход на аа вплоть до дп для 64 цветов, но все еще считывает односимвольные кодировки для 64 цветов; сравнивать Base64.
Чем больше цветов, тем больше в кодах символов, например аа вплоть до pp для 16 × 16 = 256 цветов. Это менее полезно для текстовых редакторов, потому что строка ab может быть серединой двух соседних пикселей dabc. В качестве цветового кода можно использовать пробелы, но это может быть плохой идеей в зависимости от используемого текстового редактора. Без управляющих кодов, обратной косой черты и кавычек (требуется в XPM1 и XPM3) 128 - 33 - 2 = 93 ASCII символы доступны для односимвольных цветовых кодов.
Упрощенный пример: 90 символов US-ASCII могут быть организованы в девять неперекрывающихся наборов по 10 символов. Таким образом, однозначные строки из девяти символов могут установить цвет каждого пикселя по его индексу палитры XPM с максимум 109 = 1000000000 цвета (сравните с Гифка, который поддерживает только 256).
Для XPM2 ясно, сколько строк принадлежит изображению - две строки заголовка, вторая строка заголовка, объявляющая количество цветовых кодов (2 строки в примере выше) и строки (высота 4 в примере выше), например 2 + 2 + 4 = 8 строк.
XPM3
Другие стили XPM1 и XPM3 предназначены для использования в исходном коде C, например:
/ * XPM * /статический char * XFACE[] = {/ * <Значения> * // * <ширина / столбцы> <высота / строки> <цвета> <символов на пиксель> * /"48 4 2 1",/ * <Цвета> * /"c #ffffff","b c # 000000",/ * <Пиксели> * /"abaabaababaaabaabababaabaabaabaababaaababaabaaab","abaabaababaaabaabababaabaabaabaababaaababaabaaab","abaabaababaaabaabababaabaabaabaababaaababaabaaab","abaabaababaaabaabababaabaabaabaababaaababaabaaab"};
Последний формат - XPM3, общий формат, используемый для X Window System примерно с 1991 года. c означает "цвет", можно добавить м для «монохромного» вывода, грамм для "оттенков серого" и s для "символического", объясняющего, что должен делать определенный цвет.
В добавок к Названия цветов X11 название никто
указывает на прозрачность.[4][5]
«Символьная» функция позволяет настраивать цвета в зависимости от контекста, в котором они используются. Код, такой как s граница c синий
можно настроить на синем фоне.
Если ширина, высота, цвета и символы на пиксель строки содержат шесть вместо четырех чисел, дополнительные значения указывают координаты «горячей точки», 0 0 - это верхний левый угол поля, содержащего значок и значение по умолчанию. «Точка доступа» используется для указателей мыши и подобных приложений.
Сравнение с другими форматами
Следующий код отображает тот же файл blarg в XBM, XPM и PBM форматы.
Версия XBM:
#define test_width 16#define test_height 7статический char test_bits[] = {0x13, 0x00, 0x15, 0x00, 0x93, 0xcd, 0x55, 0xa5, 0x93, 0xc5, 0x00, 0x80,0x00, 0x60 };
Версия XPM2:
! XPM216 7 2 1 * c # 000000. c #ffffff ** .. * ........... *. *. * ........... ** .. * .. **. ** .. * **. *. *. *. *. * .. *. *** .. * .. **. * ... ** ............... *. ............ **.
Версия XPM3:
/ * XPM * /статический char * blarg_xpm[] = {"16 7 2 1","* c # 000000",". c #ffffff","**..*...........","*.*.*...........","**..*..**.**..**","*.*.*.*.*.*..*.*","**..*..**.*...**","...............*",".............**."};
PBM файл:
P116 71 1 0 0 1 0 0 0 0 0 0 0 0 0 0 01 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 01 1 0 0 1 0 0 1 1 0 1 1 0 0 1 11 0 1 0 1 0 1 0 1 0 1 0 0 1 0 11 1 0 0 1 0 0 1 1 0 1 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
Поддержка приложения
ACDSee, Amaya, CorelDRAW, GIMP, ImageMagick, IrfanView (плагин форматов), PaintShop Pro, Фотошоп (плагины) и XnView среди прочего поддерживает XPM.[6][7] Граватар и пиконы также поддерживает XPM.[8][9]
An X11 libXpm уязвимость был исправлен в 2005 году.[10] FFmpeg версия 3.3 или более поздняя может декодировать XPM.[11]
Смотрите также
- X Window System (X11) и Названия цветов X11
- PBM (мононуклеоз), PGM (оттенки серого), PPM (цвет), PNM (любой)
Рекомендации
- ^ .xpm MIME типа не зарегистрированный в IANA
- ^ а б Ле Хорс, Арно (1996-02-01). Руководство по XPM: формат X PixMap (PDF). Groupe Bull. стр. 7–8. Получено 2014-01-01.
- ^ Даниэль Дардаиллер (1996-07-15). "История XPM". Колас Нахабу и Арно Ле Хорс. Архивировано из оригинал на 1997-06-07. Получено 2014-01-01.
- ^ "FAQ по XPM". Фонд X.Org. 1996. Получено 2016-03-12.
- ^ "Сводка по формату файла XPM". Энциклопедия форматов графических файлов, 2-е издание. ISBN 1-56592-161-5. Получено 2014-01-01.
- ^ Нир Софер. "Расширение .xpm". Получено 2014-01-12.
- ^ "Тип файла: X Windows Pixmap". Ассоциация файлов Windows. Microsoft. 2013. Получено 2014-01-12.
- ^ Граватар неофициальный, нет XPM2
- ^ Стив Кинзлер (2005). "Архив Пикона". Получено 2014-01-06.
пиконы представлены либо в монохромном формате XBM, либо в цветном формате XPM и GIF.
- ^ "Библиотека libXpm содержит несколько уязвимостей целочисленного переполнения". US-CERT. 2005-10-06. VU # 537878. Получено 2014-01-01.
- ^ "FFmpeg 3.3" Гильберта"". FFmpeg. 2017-04-13. Получено 2017-10-28.
Декодер XPM