X BitMap

редактировать
Формат файла

X BitMap
Blarg.xbm.png Пример файла XBM
Расширение имени файла .xbm
Тип интернет-носителя image / x-xbitmap, image / x-xbm
Тип форматаФорматы файлов изображений
Расширен сC ( язык программирования)
Расширен доX PixMap (XPM)

В компьютерной графике в X Window System используется X BitMap (XBM ), обычный текст двоичный формат изображения, для хранения курсора и значка растровые изображения, используемые в X GUI. Формат XBM заменен на XPM, который впервые появился для X11 в 1989 году.

Содержание
  • 1 Формат
  • 2 Поддержка
  • 3 См. Также
  • 4 Ссылки
Формат

Файлы XBM заметно отличаются от большинства файлов изображений тем, что они имеют форму исходных файлов C. Это означает, что они могут быть скомпилированы непосредственно в приложение без каких-либо шагов предварительной обработки, но это также делает их намного больше, чем их необработанные данные пикселей. Данные изображения кодируются как список значений байтов, разделенных запятыми, каждое из которых записано в шестнадцатеричной системе счисления C, например '0x13', так что несколько символов ASCII используются для выражения одного байта информации об изображении.

Данные XBM состоят из серии массивов статических символов без знака , содержащих монохромные данные пикселей. Когда формат был широко распространен, XBM обычно появлялся в заголовках (файлы.h), которые содержали один массив для каждого изображения, хранящегося в заголовке. Следующий фрагмент кода C иллюстрирует файл XBM:

#define test_width 16 #define test_height 7 static unsigned char test_bits = {0x13, 0x00, 0x15, 0x00, 0x93, 0xcd, 0x55, 0xa5, 0x93, 0xc5, 0x00, 0x80, 0x00, 0x60};

Вместо обычного заголовка формата файла изображения в файлах XBM есть два или четыре оператора #define. Первые два #define определяют высоту и ширину растрового изображения в пикселях. Вторые два, если они есть, определяют положение любой точки доступа в растровом изображении. (В случае растровых курсоров «горячая точка» относится к положению «точки» курсора, обычно в 0,0.)

Данные изображения XBM состоят из строки значений пикселей, хранящихся в статической массив. Поскольку один бит представляет каждый пиксель (0 для белого или 1 для черного), каждый байт в массиве содержит информацию для восьми пикселей с верхним левый пиксель в растровом изображении представлен младшим битом первого байта в массиве. Если ширина изображения не кратна 8, лишние биты в последнем байте каждой строки игнорируются.

Поддержка

Некоторые веб-браузеры поддерживают отображение изображений XBM как пережиток первых дней всемирной паутины, когда XBM был минимальным непатентованный формат файла изображения. Веб-браузер Arena имел полную поддержку с версии 0.3.34 (25 июля 1997 г.). Поддержка XBM была удалена из браузеров на основе Internet Explorer 6, Mozilla Firefox 3.6 и WebKit. Есть явное указание на то, что Chromium (и, следовательно, также Google Chrome ) не поддерживает XBM. В документации для Opera 2.12 и 6.0 указано, что XBM, по крайней мере, ранее поддерживался.

Некоторые программы просмотра / преобразования изображений, например, XnView, FFmpeg и IrfanView, поддерживают XBM. XBM 48 × 48 может быть преобразован в Ikon и, в конечном итоге, в X-Face с помощью инструментов Netpbm.

Несмотря на то, что он был заменен на XPM формат, XBM по-прежнему используется некоторыми современными, но легкими оконными менеджерами, такими как Openbox, для определения простых изображений кнопок в строке заголовка окна, таких как кнопки уменьшения / уменьшения, восстановления и развертывания. XBM также используется во встроенной обработке (микроконтроллеры) для отображения значков, используемых в графическом интерфейсе пользователя. ImageMagick поддерживает преобразование изображений как в XBM, так и из него. GIMP может использоваться для создания или изменения изображений с использованием формата XBM, а также поддерживает преобразование изображений в формат XBM и обратно.

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