X PixMap

редактировать
Формат файла
X PixMap
Screenshot-xterm-linux.xpm-GVIM.png Некоторые, например gvim, ca n отображать изображения xpm в графической форме
Расширение имени файла .xpm
Тип интернет-носителя image / x-xpixmap
РазработаноBULL Research
Тип форматаФорматы файлов изображений
Расширенный изXBM
Открытый формат ?да

X PixMap (XPM ) - это формат файла изображения используется системой X Window System, созданной в 1989 году Дэниелом Дардайлером и Коласом Нахабу, работающими в Bull Research Center в Sophia Antipolis, Франция, а затем усовершенствованной Автор Arnaud Le Hors.

Он предназначен в первую очередь для создания icon растровых изображений и поддерживает прозрачных пикселей. Полученный из более раннего синтаксиса XBM, это файл простого текста в формате XPM2 или синтаксисе языка программирования C, который может быть включен в файл программы C.

Содержание
  • 1 XPM
  • 2 XPM2
  • 3 XPM3
  • 4 Сравнение с другими форматами
  • 5 Поддержка приложений
  • 6 См. также
  • 7 Ссылки
XPM

Формат XPM - это массив строк, состоящий из шести различных разделов, как показано ниже:

static 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 статический символ * XFACE_colors = {"a", "#ffffff", "b"}; "# 000000" static char * XFACE_pixels = {"abaabaababaaabaabababaabaabaababaaababaabaaab", // и так далее для 48 строк с 48 пикселями

Раздел значений содержит ширину, высоту, количество цветов и количество символов на пиксель.

XPM2

XPM2 упрощает формат, удаляя весь код C. Пример:

! XPM2 48 4 2 1 a c #FFFFFF b c # 000000 abaabaababaaabaabababaabaabaababaaababaabaaab abaabaababaaabaabababaabaabaababaaababaabaaab abaabaababaaabaabababaabaababaaababaabaaab abaabaababaaabaababaabaabaababaaababaabaaab abaabaababaaabaababaabaabaababaaababaabaaab abaabaababaaababababaaababaaababaaababababababaaababaaababaaabababababababa Известно, что один инструмент использует только a - p для 16 цветов, переключаясь на aa до dp для 64 цветов, но все же чтение односимвольных кодировок для 64 цветов; сравнить Base64.

Чем больше цветов, тем больше символов, например aa до pp для 16 × 16 = 256 цветов. Это менее полезно для текстовых редакторов, потому что строка ab может быть фактически серединой двух соседних пикселей dabc . В качестве цветового кода можно использовать пробелы, но это может быть плохой идеей в зависимости от используемого текстового редактора. Без управляющих кодов, обратной косой черты и кавычек (требуется в XPM1 и XPM3) 128 - 33 - 2 = 93 ASCII символа доступны для односимвольных цветовых кодов.

Упрощенный пример: 90 символов US-ASCII могут быть организованы в девять неперекрывающихся наборов по 10 символов. Таким образом, однозначные строки из девяти символов могут задавать цвет каждого пикселя по его индексу палитры XPM до 10 = 1000000000 цветов (сравните с GIF, который поддерживает только 256).

Для XPM2 ясно, сколько строк принадлежит изображению - две строки заголовка, вторая строка заголовка объявляет количество цветовых кодов (2 строки в примере выше) и строки (высота 4 в примере выше.), например 2 + 2 + 4 = 8 строк.

XPM3

Другие стили XPM1 и XPM3 предназначены для использования в исходном коде C, например:

/ * XPM * / static char * XFACE = {/ * * / / * * / «48 4 2 1», / * * / «ac #ffffff», «bc # 000000», / * * / «abaabaababaaabaabababaabaabaababaaababaabaaab», «abaabaababaaabaababaabaabaababaaababaabaaab "," abaabaababaaabaabababaabaabaababaabaaababaabaaab "," abaabaababaaabaabababaabaabaabaababaaababaabaaab "};

Последний формат - XPM3, общий формат, используемый для X Window System примерно с 1991 года. c означает «цвет», можно добавить m для «монохромного» вывод, g для «оттенков серого» и s для «символического», объясняя, что должен делать определенный цвет.

В дополнение к именам цветов X11 имя noneуказывает на прозрачность.

«Символьная» функция позволяет настраивать цвета в зависимости от контекста, в котором Они используются. Код, такой как s border c blue, можно отрегулировать на синем фоне.

Если ширина, высота, цвета и символы на пиксельную строку содержат шесть вместо четырех чисел, дополнительные значения указывают координаты «горячей точки», 0 0 - верхний левый угол поля, содержащего значок и значение по умолчанию. «Точка доступа» используется для указателей мыши и подобных приложений.

Сравнение с другими форматами
Файл Blarg, открытый в окне программы

Следующий код отображает тот же файл blarg в форматах XBM, XPM и PBM.

Версия XBM:

#define test_width 16 #define test_height 7 static char test_bits = {0x13, 0x00, 0x15, 0x00, 0x93, 0xcd, 0x55, 0xa5, 0x93, 0xc5, 0x00, 0x80, 0x00, 0x60};
Blarg.xpm (XPM2), обработанный XnView

версия XPM2:

! XPM2 16 7 2 1 * c # 000000. c #ffffff **.. *........... *. *. *........... **.. *.. **. **.. * * *. *. *. *. *. *.. *. * **.. *.. **. *... **............... *............. **.

. Версия XPM3:

/ * XPM * / static char * blarg_xpm = {"16 7 2 1", "* c # 000000", ". C #ffffff", "**.. *........... "," *. *. *........... "," **.. *.. **. **.. ** "," *. *. *. *. *. *.. *. * "," **.. *.. **. *... ** ","............... * ","............. **. " };

Файл PBM:

P1 16 7 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
Поддержка приложений

ACDSee, CorelDRAW, GIMP, ImageMagick, IrfanView (плагин форматов), PaintShop Pro, Photoshop (плагины) и XnView среди прочего поддерживает XPM. Gravatar и picons также поддерживают XPM.

Уязвимость X11 libXpm было исправлено в 2005 году. FFmpeg версии 3.3 или более поздней может декодировать XPM.

См. Также
Ссылки
Последняя правка сделана 2021-06-22 06:56:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте