В компьютерной графике , то X Window System используется X Bitmap ( XBM ), а обычный текстовый двоичный формат изображения , для хранения курсора и значок растровых изображений , используемых в X GUI . [2] Формат XBM заменен форматом XPM , который впервые появился для X11 в 1989 году. [3]
Расширение имени файла | .xbm |
---|---|
Тип интернет-СМИ | изображение / x-xbitmap, изображение / x-xbm [1] |
Тип формата | Форматы файлов изображений |
Расширен с | C (язык программирования) |
Расширен до | X PixMap (XPM) |
Формат
Файлы XBM заметно отличаются от большинства файлов изображений тем, что они имеют форму исходных файлов C. Это означает, что они могут быть скомпилированы непосредственно в приложение без каких-либо шагов предварительной обработки, но это также делает их намного больше, чем их необработанные данные пикселей. Данные изображения кодируются как список значений байтов, разделенных запятыми, каждое из которых записано в шестнадцатеричной системе счисления C, например, «0x13», так что несколько символов ASCII используются для выражения одного байта информации об изображении. [4]
Данные 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). [5] Поддержка XBM была удалена из Internet Explorer 6 , Mozilla Firefox 3.6 , [6] и браузеров на основе WebKit . [7] Существует явное указание на то, что Chromium (а следовательно, и Google Chrome ) не поддерживает XBM. [8] Документация для Opera 2.12 и 6.0 указывает, что XBM, по крайней мере, ранее поддерживался. [9] [10]
Некоторые программы просмотра / преобразования изображений, например XnView , FFmpeg и IrfanView , поддерживают XBM. [11] XBM 48 × 48 может быть преобразован в Ikon и, в конечном итоге, в X-Face с помощью инструментов Netpbm . [12]
Несмотря на то , что XBM был вытеснен форматом XPM , он по-прежнему используется некоторыми современными, но легковесными оконными менеджерами, такими как Openbox, для определения простых изображений кнопок в строке заголовка окна, таких как кнопки уменьшения / уменьшения, восстановления и развертывания. [13] XBM также используется во встроенной обработке (микроконтроллеры) для отображения значков, используемых в графическом интерфейсе пользователя. [14] ImageMagick [15] поддерживает преобразование изображений как в XBM, так и из него. GIMP может использоваться для создания или изменения изображений с использованием формата XBM, а также поддерживает преобразование изображений в формат XBM и обратно.
Смотрите также
- X PixMap (XPM)
- Xlib
- Портативная битовая карта (PBM)
Рекомендации
- ^ .xbmТип MIME не зарегистрирован в IANA
- ^ Стив Кинзлер (2005). "Архив Пикона" . Проверено 6 января 2014 года .
пиконы представлены либо в монохромном формате XBM, либо в цветных форматах XPM и GIF.
- ^ Даниэль Дардайлер (15 июля 1996 г.). «История XPM» . Колас Нахабу и Арно Ле Хорс . Проверено 1 января 2014 года .
- ^ Джеймс Д. Мюррей, Уильям ванРайпер (апрель 1996 г.). Энциклопедия форматов графических файлов, второе издание . О'Рейли . ISBN 1-56592-161-5. Проверено 27 февраля 2014 года .CS1 maint: использует параметр авторов ( ссылка )
- ^ Цинлун, Лу (24 марта 1998 г.). «История изменений арены» . Yggdrasil Computing. Архивировано из оригинального 28 февраля 2003 года . Проверено 27 февраля 2014 года .
- ^ «504822 - Убрать поддержку XBM из Mozilla» . Mozilla. 12 июля 2010 . Проверено 22 октября 2014 года .
- ^ «Ошибка 27823 - Удаление поддержки XBM» . WebKit. 12 января 2010 . Проверено 22 октября 2014 года .
- ^ «Проблема 372898 - хром - Chrome отображает значок сломанного изображения при прямой ссылке на изображение XBM. - Проект с открытым исходным кодом, помогающий продвигать Интернет вперед. - Хостинг проектов Google» . 26 июня 2014 . Проверено 22 октября 2014 года .
- ^ «Opera Software ASA - История версий Opera» . Программное обеспечение Opera. 5 февраля 2013 . Проверено 22 октября 2014 года .
- ^ «Список изменений для Opera 6.0 для Unix TP 1» . Программное обеспечение Opera. 26 ноября 2001 . Проверено 22 октября 2014 года .
- ^ «Форматы изображений» . Общая документация FFmpeg . 2014 . Проверено 23 февраля 2014 года .
- ^ Джефф Дайрики. «Онлайн-конвертер X-Face» . Проверено 2 марта 2014 .
- ^ различные участники. «Документация по теме Openbox» . Проверено 8 октября 2014 года .
- ^ оликраус. «Справочник по библиотеке U8g2» . Дата обращения 22 мая 2017 .
- ^ Асим Кишор. «Преобразование изображений между форматами через командную строку в Ubuntu» . Дата обращения 22 мая 2017 .