Формат графического файла определяет способ хранения графической информации в файле (растровый или векторный), а также форму хранения информации (используемый алгоритм сжатия для уменьшения объёма файла).
Растровые форматы используются для хранения растровых данных. Файлы этого типа особенно хорошо подходят для хранения реальных изображений, например фотографий и видеоизображений.
Растровые файлы, по сути дела, содержат точную попиксельную карту изображения. Программа визуализации реконструирует это изображение на отображающей поверхности устройства вывода.
Наиболее распространенные растровые форматы — это BMP, GIF, TIFF, JPEG и PSD.
Название формата |
Описание |
BMP (Windows Device Independent Bitmap) |
— формат хранения растровых изображений, разработанный компанией Microsoft. С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Формат BMP поддерживается всеми графическими редакторами, работающими под ее управлением, способен хранить как индексированный (до 256 цветов), так и RGB-цвет (16,7 млн. оттенков). Имена файлов BMP используют расширения *.bmp, *.dib и *.rle |
GIF (Graphic Interchange Format) |
— стандартный растровый формат представления изображений в WWW. Имена файлов GIF используют расширение *.gif . |
TIFF (Tagged Image File Format) |
— формат хранения растровых графических изображений. TIFF используется в полиграфии, при печати изображений. TIFF может сохранять векторную графику программы Photoshop, Alpha-каналы для создания масок в видеоклипах Adobe Premiere и др. |
JPEG (Joint Photographic Experts Group) |
— один из популярных графических форматов, применяемый для хранения фотоизображений. Алгоритм JPEG в наибольшей степени пригоден для сжатия фотографий и картин, содержащих реалистичные сцены с плавными переходами яркости и цвета. Наибольшее распространение JPEG получил в цифровой фотографии и для хранения и передачи изображений с использованием сети Интернет. JPEG не подходит для сжатия изображений при многоступенчатой обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки. Имена файлов JPEG используют расширения: .jpeg, .jfif, .jpg, .JPG, или .JPE. |
PSD (PhotoShop Document) |
— формат фирмы Adobe Photoshop с неразрушаемым сжатием. Формат PSD обеспечивает хранение полноцветных изображений со всеми их особенностями, каналами, масками, различными слоями, векторными фигурами, контурами, эффектами и т.п., известными и понятными только этой программе. Особо рекомендуется использовать при работе с Photoshop. Имена файлов PSD используют расширение *.psd. |
Векторные изображения состоят из математических формул, описывающих простые графические объекты, из которых и состоит векторный файл. Такой файл содержит информацию о том, где и какой объект находится.
Векторные изображения различных форматов различает способ их создания и принципы кодирования графических объектов.
Наиболее распространенных векторных форматов — WMF и CDR.
Название формата |
Описание |
WMF (Windows MetaFile) |
— формат, созданный для использования с ОС Windows. Служит для передачи векторов через буфер обмена. «Понимается» и поддерживается практически всеми программами, работающими под Windows и так или иначе связанными с векторной графикой. Однако, несмотря на кажущуюся простоту и универсальность, пользоваться форматом WMF рекомендуется только в крайних случаях для передачи так называемых голых векторов. WMF искажает цвет, не сохраняет ряд параметров, которые могут быть присвоены объектам в различных векторных редакторах, не понимается программами, ориентированными на ПК Macintosh. Файлы WMF используют расширение *.wmf. |
CDR (Corel Draw) |
— векторный формат изображения или рисунка, созданный с помощью программы Corel Draw. Данный формат файла разработан компанией Corel для использования в собственных программных продуктах. CDR-файлы не поддерживаются многими программами, предназначенными для редактирования изображений. Однако, файл можно экспортировать с помощью Corel Draw в другие, более распространенные и популярные форматы изображений. Файлы CDR используют расшир *.cdr. |
-
- 0
-
Какой формат хранения растровых изображений был разработан компанией Microsoft. Файлы данного формата могут иметь расширения .bmp, .dib и .rle.
Ответ:
1. BMW
2. Opera
3. CMYK
4. BMP
-
Комментариев (0)
-
- 0
-
4. BMP
////////////////
-
Комментариев (0)
Расширение |
|
---|---|
MIME |
|
Разработан |
Microsoft |
Тип формата |
растровая графика |
BMP (от англ. Bitmap Picture) — формат хранения растровых изображений, разработанный компанией Microsoft.
С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle. Кроме того, данные этого формата включаются в двоичные файлы ресурсов RES и в PE-файлы.
Компания Microsoft так же разработала для своих нужд форматы ICO и CUR, которые имеют похожую на BMP структуру. Кроме этого, структуры из этого формата используются некоторыми WinAPI-функциями подсистемы GDI.
Глубина цвета в данном формате может быть 1, 2[источник не указан 106 дней], 4, 8, 16, 24, 32, 48 бит на пиксель, но глубина 2 бита на пиксель официально не поддерживается. При этом для глубины цвета меньше 16 бит используется палитра с полноцветными компонентами глубиной 24 бита.
В формате BMP изображения могут храниться как есть или же с применением некоторых распространённых алгоритмов сжатия. В частности, формат BMP поддерживает RLE-сжатие без потери качества, а современные операционные системы и программное обеспечение позволяют использовать JPEG и PNG (эти форматы встраиваются в BMP как в контейнер).
Содержание
- 1 DIB и DDB
- 2 Обзор структуры файла
- 3 BITMAPFILEHEADER[2]
- 4 После заголовка файла
- 4.1 BITMAPINFOHEADER[3]
- 4.2 BITMAPV4HEADER[4]
- 4.3 BITMAPV5HEADER[5]
- 5 Палитра
- 6 Данные изображения
- 7 Битность изображения
- 8 Индексированные цвета
- 9 Пример программы
- 10 Примечания
- 11 Ссылки
DIB и DDB
При использовании формата DIB (англ. Device Independent Bitmap, аппаратно-независимый растр) программист может получить доступ ко всем элементам структур, описывающих изображение, при помощи обычного указателя. Но эти данные не используются для непосредственного управления экраном, так как они всегда хранятся в системной памяти, а не в специализированной видеопамяти. Формат пикселя в оперативной памяти может отличаться от того формата, который должен заноситься в видеопамять для индикации точки такого же цвета. Например, в DIB-формате может использоваться 24 бита для задания пикселя, а графический адаптер в этот момент может работать в режиме HiColor с цветовой глубиной 16 бит. При этом ярко-красная точка в аппаратно-независимом формате будет задаваться тремя байтами 0x0000ff, а в видеопамяти — словом 0xF800. При копировании картинки на экран система будет тратить дополнительное время на преобразование кодов цвета из 24-битного формата в формат видеобуфера.
Формат DDB (англ. Device Dependent Bitmap, аппаратно-зависимый растр) всегда содержит цветовые коды, совпадающие с кодами видеобуфера, но храниться он может как в системной, так и в видеопамяти. В обоих случаях он содержит только коды цвета в том формате, который обеспечит пересылку изображения из ОЗУ в видеопамять при помощи простого копирования.[1]
Обзор структуры файла
BMP-файл состоит из четырёх частей:
- Заголовок файла (BITMAPFILEHEADER)
- Заголовок изображения (BITMAPINFOHEADER, может отсутствовать). BITMAPV4HEADER (Win95, NT4.0) BITMAPV5HEADER (Win98/Me, 2000/XP)
- Палитра (может отсутствовать)
- Само изображение
Эта структура содержит информацию о типе, размере и представлении данных в файле. Размер 14 байт.
typedef struct tagBITMAPFILEHEADER { WORD bfType; // смещение 0 байт от начала файла DWORD bfSize; // смещение 2 байта от начала файла, длина 4 байта WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; // смещение 10 байт от начала файла, длина 4 байта } BITMAPFILEHEADER, *PBITMAPFILEHEADER;
Тип WORD должен иметь размер 16 бит, типы DWORD и LONG — 32 бита, тип LONG — знаковый, порядок байтов подразумевается little endian.
- bfType — тип файла, символы «BM» (в HEX: 0x42 0x4d).
- bfSize — размер всего файла в байтах.
- bfReserved1 и bfReserved2 — зарезервированы, должны содержать нули.
- bfOffBits — содержит смещение в байтах от начала структуры BITMAPFILEHEADER до непосредственно битов изображения.
После заголовка файла
Наиболее простой вариант заголовка. Приложения для Windows NT3.51 и более ранних могут использовать только эту структуру. Размер 40 байт.
typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER, *PBITMAPINFOHEADER;
- biSize
- Размер данной структуры в байтах. Формат BMP со временем дополнялся и по значению этого поля определяется версия формата.
- biWidth
- Ширина изображения в пикселях. Для Win98/Me и Win2000/XP: если поле biCompression содержит BI_JPEG или BI_PNG, здесь указана ширина распакованного изображения.
- biHeight
- Высота изображения в пикселях. Если содержит положительное значение — изображение записано в порядке снизу-вверх (нулевой пиксель в нижнем левом углу). Если значение отрицательное — изображение записано сверху-вниз (нулевой пиксель в верхнем левом углу изображения). Поле biCompression должно содержать значение BI_RGB или BI_BITFIELDS. Такое изображение не может быть сжато.
- biPlanes
- Количество цветовых плоскостей и в формате BMP содержит единицу.
- biBitCount
- Количество бит на пиксель. Может принимать следующие значения:
- 0 — имеет смысл для Win98/Me/2000/XP. Число бит на пиксель определяет формат JPEG или PNG.
- 1 — изображение монохромное. Член bmiColors структуры BITMAPINFO содержит два элемента. Каждый бит изображения представляет один пиксель; если бит равен нулю — пиксель имеет цвет первого элемента таблицы bmiColors, иначе — цвет второго.
- 4 — шестнадцатицветное изображение. Пиксели определяются 4-х битными индексами, каждый байт изображения содержит информацию о двух пикселях — старшие 4 бита для первого, оставшиеся — для второго.
- 8 — в палитре содержится до 256 цветов, каждый байт изображения хранит индекс в палитре для одного пикселя.
- 16 — если поле biCompression содержит значение BI_RGB, файл не содержит палитры. Каждые два байта изображения хранят интенсивность красной, зелёной и синей компоненты одного пикселя. При этом старший бит не используется, на каждую компоненту отведено 5 бит: 0RRRRRGGGGGBBBBB.
Если поле biCompression содержит значение BI_BITFIELDS, палитра хранит три четырёхбайтовых значения, определяющих маску для каждой из трёх компонент цвета. Каждый пиксель изображения представлен двухбайтным значением, из которого с помощью масок извлекаются цветовые компоненты. Для WinNT/2000/XP — последовательности бит каждой компоненты должны следовать непрерывно, не перекрываясь и не пересекаясь с последовательностями других компонент. Для Win95/98/Me — поддерживаются только следующие маски: 5-5-5, где маска синей компоненты 0х001F, зелёной 0x03E0, красной 0x7C00; и 5-6-5, где маска синей компоненты 0x001F, зелёной 0x07E0, красной 0xF800. - 24 — палитра не используется, каждая тройка байт изображения представляет один пиксель, по байту для интенсивности синего, зелёного и красного канала соответственно.
- 32 — Если поле biCompression содержит значение BI_RGB, изображение не содержит палитры. Каждые четыре байта изображения представляют один пиксель, по байту для интенсивности синего, зелёного и красного канала соответственно. Старший байт каждой четвёрки обычно не используется, однако позволяет хранить данные альфа-канала.
Если поле biCompression содержит значение BI_BITFIELDS, в палитре хранятся три четырёхбайтных цветовых маски — для красной, зелёной и синей компоненты. Каждый пиксель изображения представлен четырьмя байтами. WinNT/2000: маски компонент не должны перекрываться или пересекаться. Windows 95/98/Me: система поддерживает только один режим сжатия, полностью аналогичный режиму без компрессии BI_RGB — старший байт каждой четвёрки используется в качестве альфа-канала, следующие три отведены для синего, зелёного и красного канала соответственно: 0xAARRGGBB.
- biCompression
- Тип сжатия для сжатых изображений:
Значение | Идентификатор | Компрессия |
---|---|---|
0 | BI_RGB | несжатое изображение |
1 | BI_RLE8 | сжатие RLE для 8-битных изображений |
2 | BI_RLE4 | сжатие RLE для 4-битных изображений |
3 | BI_BITFIELDS | изображение не сжато, палитра содержит три 4-байтные маски для красной, зелёной и синей компонент цвета. Используется для 16- и 32-битных изображений |
4 | BI_JPEG | Win98/Me/2000/XP: JPEG-сжатие |
5 | BI_PNG | Win98/Me/2000/XP: PNG-сжатие |
6 | BI_ALPHABITFIELDS | WinCE: изображение не сжато, палитра содержит четыре 4-байтные маски для красной, зелёной, синей и прозрачной (альфа-канал) компонент цвета. Используется для 16- и 32-битных изображений |
- biSizeImage
- Размер изображения в байтах. Может содержать ноль для BI_RGB-изображений. Win98/Me/2000/XP: если biCompression содержит BI_JPEG или BI_PNG, biSizeImage указывает размер BI_JPEG или BI_PNG буфера изображения.
- biXPelsPerMeter
- Горизонтальное разрешение в пикселях на метр для целевого устройства. Приложение может использовать это значение для выбора из группы ресурсов изображения, наиболее подходящего для текущего устройства. Для DPI 96, которое принято в Microsoft для мониторов, оно будет равно 3780 (если считать по формуле (96 / 25,4) * 1000).
- biYPelsPerMeter
- Вертикальное разрешение в пикселях на метр для целевого устройства.
- biClrUsed
- Количество используемых цветовых индексов в палитре. Если значение равно нулю — изображение использует максимально доступное количество индексов, в соответствии со значением biBitCount и методом сжатия, указанным в biCompression.
Если содержит ненулевое значение и biBitCount меньше 16, biClrUsed указывает количество цветов, к которым будет обращаться драйвер устройства или приложение. Если biBitCount больше или равен 16, biClrUsed размер палитры, используемой для оптимизации работы системных палитр. Если biBitCount равен 16 или 32, оптимальная палитра следует сразу после трёх четырёхбайтных масок.
В упакованном изображении массив пикселей следует сразу после структуры BITMAPINFO, biClrUsed должен содержать ноль, либо реальный размер палитры. - biClrImportant
- Количество элементов палитры, необходимых для отображения изображения. Если содержит ноль — все индексы одинаково важны.
Структура BITMAPINFO объединяет BITMAPINFOHEADER и палитру, предоставляя полное описание размеров и цветов изображения.
Чтобы найти палитру в структуре BITMAPINFO, приложение должно использовать информацию, хранимую в biSize, следующим образом:
pColor = ((LPSTR)pBitmapInfo + (WORD)(pBitmapInfo->bmiHeader.biSize));
Растр обычно хранится в вертикально зеркальном виде. Но есть также возможность хранить растр не в вертикально зеркальном виде. Признак того, что растр в BMP не в вертикально зеркальном виде задаётся параметром biHeight.
Расширенная версия описанной выше структуры. Win NT 3.51 и более ранние должны использовать структуру BITMAPINFOHEADER. Win98/Me/2000/XP могут использовать вместо структуры BITMAPV4HEADER структуру BITMAPV5HEADER.
typedef struct { DWORD bV4Size; LONG bV4Width; LONG bV4Height; WORD bV4Planes; WORD bV4BitCount; DWORD bV4V4Compression; DWORD bV4SizeImage; LONG bV4XPelsPerMeter; LONG bV4YPelsPerMeter; DWORD bV4ClrUsed; DWORD bV4ClrImportant; DWORD bV4RedMask; DWORD bV4GreenMask; DWORD bV4BlueMask; DWORD bV4AlphaMask; DWORD bV4CSType; CIEXYZTRIPLE bV4Endpoints; DWORD bV4GammaRed; DWORD bV4GammaGreen; DWORD bV4GammaBlue; } BITMAPV4HEADER, *PBITMAPV4HEADER;
Поля от начала структуры и до bV4ClrImportant включительно имеют то же назначение, что и соответствующие поля структуры BITMAPINFOHEADER.
- bV4RedMask — цветовая маска красной компоненты каждого пикселя, используется только если bV4Compression содержит значение BI_BITFIELDS.
- bV4GreenMask — цветовая маска зелёной компоненты каждого пикселя, используется только если bV4Compression содержит значение BI_BITFIELDS.
- bV4BlueMask — цветовая маска синей компоненты каждого пикселя, используется только если bV4Compression содержит значение BI_BITFIELDS.
- bV4AlphaMask — маска, определяющая компоненту альфа-канала.
- bV4CSType — определяет цветовое пространство изображения.
- bV4Endpoints — структура CIEXYZTRIPLE, указывающая x, y и z координаты трёх цветов, которые соответствуют конечным точкам(endpoints) цветового пространства, определённого для изображения. Это поле игнорируется, если bV4CSType не содержит значения LCS_CALIBRATED_RGB.
- bV4GammaRed — кривая тона красной компоненты. Игнорируется, если bV4CSType не содержит значения LCS_CALIBRATED_RGB. Указывается в формате 16×16.
- bV4GammaGreen — кривая тона зелёной компоненты. Игнорируется, если bV4CSType не содержит значения LCS_CALIBRATED_RGB.
- bV4GammaBlue — кривая тона синей компоненты. Игнорируется, если bV4CSType не содержит значения LCS_CALIBRATED_RGB.
Win95/NT 4.0: приложения могут использовать BITMAPV4HEADER. Win NT 3.51 и более ранние должны использовать структуру BITMAPINFOHEADER.
typedef struct { DWORD bV5Size; LONG bV5Width; LONG bV5Height; WORD bV5Planes; WORD bV5BitCount; DWORD bV5Compression; DWORD bV5SizeImage; LONG bV5XPelsPerMeter; LONG bV5YPelsPerMeter; DWORD bV5ClrUsed; DWORD bV5ClrImportant; DWORD bV5RedMask; DWORD bV5GreenMask; DWORD bV5BlueMask; DWORD bV5AlphaMask; DWORD bV5CSType; CIEXYZTRIPLE bV5Endpoints; DWORD bV5GammaRed; DWORD bV5GammaGreen; DWORD bV5GammaBlue; DWORD bV5Intent; DWORD bV5ProfileData; DWORD bV5ProfileSize; DWORD bV5Reserved; } BITMAPV5HEADER, *PBITMAPV5HEADER;
Для полей от начала структуры и до bV5GammaBlue включительно будут описаны только отличия от предыдущих версий — BITMAPINFOHEADER и BITMAPV4HEADER.
- bV5CSType — определяет цветовое пространство изображения, может принимать следующие значения:
- LCS_CALIBRATED_RGB
- LCS_sRGB
- LCS_WINDOWS_COLOR_SPACE
- PROFILE_LINKED
- PROFILE_EMBEDDED
- bV5Intent — может принимать следующие значения:
- LCS_GM_ABS_COLORIMETRIC
- LCS_GM_BUSINESS
- LCS_GM_GRAPHICS
- LCS_GM_IMAGES
- bV5ProfileData — смещение в байтах от начала структуры к началу данных профиля (имя файла профиля, строка состоящая исключительно из символов кодовой таблицы 1252 и заканчивающаяся нулевым байтом). Игнорируется, если bV5CSType содержит значение, отличное от PROFILE_LINKED и PROFILE_EMBEDDED.
- bV5ProfileSize — размер данных профиля в байтах.
- bV5Reserved — зарезервировано. Содержит ноль.
Палитра
Палитра может содержать последовательность четырёхбайтовых полей по числу доступных цветов (256 для 8-битного изображения). Три младшие байта каждого поля определяют интенсивность красной, зелёной и синей компоненты цвета, старший байт не используется. Каждый пиксель изображения описан в таком случае одним байтом, содержащим номер поля палитры, в котором сохранен цвет этого пикселя.
Если пиксель изображения описывается 16-битным числом, палитра может хранить три двухбайтных значения, каждое из которых определяет маску для извлечения из 16-битного пикселя красной, зелёной и синей компонент цвета.
Файл BMP может не содержать палитры, если в нём хранится несжатое полноцветное изображение.
Данные изображения
Последовательность пикселей, записанных в том или ином виде. Пиксели хранятся построчно, снизу вверх. Каждая строка изображения дополняется нулями до длины, кратной четырём байтам.
В bmp-файлах с глубиной цвета 24 бита, байты цвета каждого пикселя хранятся в порядке BGR (Blue,Green,Red)
B bmp-файлах с глубиной цвета 32 бита, байты цвета каждого пикселя хранятся в порядке BGRA (Blue,Green,Red,Alpha)
Битность изображения
В зависимости от количества представляемых цветов, на каждую точку отводится от 1 до 48 битов:
- 1 бит — монохромное изображение (два цвета).
- 2 бита — 4 возможных цвета (режимы работы CGA) (2-битовый режим официально не стандартизован, но используется).
- 4 бита — 16-цветное изображение (режимы работы EGA).
- 8 бит (1 байт) — 256 цветов, последний из режимов, поддерживавших индексированные цвета (см. ниже).
- 16 бит (2 байта) — режим HiColor, Для 5-6-5 = 65536 возможных оттенков, для 5-5-5 = 32768 возможных оттенков.
- 24 бита (3 байта) — TrueColor. В связи с тем, что 3 байта не очень хорошо соотносятся со степенями двойки (особенно при хранении данных в памяти, где выравнивание данных по границе слова имеет значение), вместо него часто используют 32-битное изображение. В режиме TrueColor на каждый из трёх каналов (в режиме RGB) отводится по 1 байту (256 возможных значений), общее количество цветов равно 16777216.
- 32 бита (4 байта) — этот режим практически аналогичен TrueColor, четвёртый байт обычно не используется, или в нём располагается альфа-канал (прозрачность).
- 48 бит (6 байт) — редко используемый формат с повышенной точностью передачи цвета (16 бит на канал), поддерживается относительно малым количеством программ и оборудования.
Индексированные цвета
При количестве бит 1 (2 цвета), 2 (4 цвета), 4 (16 цветов) или 8 (256 цветов) на каждый пиксель, может использоваться специальный режим индексированных цветов. В этом случае число, соответствующее каждому пикселю, указывает не на цвет, а на номер цвета в палитре. Благодаря использованию палитры имеется возможность адаптировать изображение к цветам, присутствующим на изображении. В таком случае изображение ограничено не заданными цветами, а максимальным количеством одновременно используемых цветов.
Пример программы
Следующая программа открывает 24 битный BMP файл в окне XWindow, глубина цвета должна составлять 32 бита, на меньшей цветопередаче не работает, так как это усложняет пример:
/* Компилируется строкой: cc -o xtest xtest.c -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lm */ #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/Xatom.h> #include <X11/keysym.h> #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <math.h> #include "bitmap.h" /* Здесь определения заголовков BMP как было описано выше в этой статье */ static XImage *CreateImageFromBuffer(Display*, unsigned char *, int, int); main(int argc, char *argv[]) { Display *dis; Window win;/* Наше окно */ XEvent event;/* События */ GC gc;/* Графический контекст */ XImage *image; int n, width, height, fd, size; unsigned char *data; BITMAPFILEHEADER bmp; BITMAPINFOHEADER inf; char* buf; if (argc < 2) { perror("use: xtest file.bmpn"); exit(1); } if ((fd = open(argv[1], O_RDONLY)) == -1) { printf("Error open bitmapn"); exit(1); } read(fd, &bmp, sizeof(BITMAPFILEHEADER)); read(fd, &inf,sizeof(BITMAPINFOHEADER)); width = inf.biWidth; height = inf.biHeight; if ((dis = XOpenDisplay(getenv("DISPLAY"))) == NULL) { printf("Can't connect X server: %sn", strerror(errno)); exit(1); } win = XCreateSimpleWindow(dis, RootWindow(dis, DefaultScreen(dis)), 0, 0, width, height, 5, BlackPixel(dis, DefaultScreen(dis)), WhitePixel(dis, DefaultScreen(dis))); XSetStandardProperties(dis, win, argv[1], argv[0], None, argv, argc, NULL); gc = DefaultGC(dis, DefaultScreen(dis)); /* Иногда в структуре это место не заполнено */ if(inf.biSizeImage == 0) { /* Вычислим размер */ size = width * 3 + width % 4; size = size * height; } else { size = inf.biSizeImage; } buf = malloc(size); if(buf == NULL) { perror("malloc"); exit(1); } printf("size = %d байтов выделеноn", size); /* Сместимся на начало самого изображения */ lseek(fd, bmp.bfOffBits, SEEK_SET); /* Читаем в буфер */ n = read(fd, buf, size); printf("size = %d байт прочитаноn", n); image = CreateImageFromBuffer(dis, buf, width, height); /* Удалим буфер - он нам больше не нужен */ free(buf); XMapWindow(dis, win); XSelectInput(dis, win, ExposureMask | KeyPressMask); while (1) { XNextEvent(dis, &event); if (event.xany.window == win) { switch (event.type) { case Expose: XPutImage(dis, win, gc, image, 0, 0, 0, 0, image->width, image->height); break; case KeyPress: if (XLookupKeysym(&event.xkey, 0) == XK_q) { XDestroyImage(image); XCloseDisplay(dis); close(fd); exit(EXIT_SUCCESS); } break; default: break; } } } } /* Создает Ximage из файла BMP, так как изображение BMP хранится первернутым * и зеркальным-в цикле это исправляется */ XImage *CreateImageFromBuffer(Display * dis, unsigned char *buf, int width, int height) { int depth, screen; XImage *img = NULL; int i, j; int numBmpBytes; size_t numImgBytes; int32_t *imgBuf; int ind = 0; int line; int temp; int ih, iw; /* Номера строки и столбца для отражения */ int new_ind; /* Новый индекс */ screen = DefaultScreen(dis); depth = DefaultDepth(dis, screen); temp = width * 3; line = temp + width % 4; /* Длина строки с учетом выравнивания */ numImgBytes = (4 * (width * height)); imgBuf = malloc(numImgBytes); /* Размер, отведенный на BMP в файле с учетом выравнивания */ numBmpBytes = line * height; for (i = 0; i < numBmpBytes; i++) { unsigned int r, g, b; /* Пропускаем padding */ if (i >= temp && (i % line) >= temp) continue; b = buf[i]; i++; g = buf[i]; i++; r = buf[i]; /* Вычисляем новый индекс для отражения по вертикали */ iw = ind % width; ih = ind / width; new_ind = iw + (height - ih - 1) * width; imgBuf[new_ind] = (r | g << 8 | b << 16) << 8; ind++; } img = XCreateImage(dis, CopyFromParent, depth, ZPixmap, 0, (char *) imgBuf, width, height, 32, 0); XInitImage(img); /* Порядок битов и байтов на PC должен быть таким */ img->byte_order = MSBFirst; img->bitmap_bit_order = MSBFirst; return img; }
Примечания
- ↑ Евченко А. И. OpenGL и DirectX. Программирование графики (Для профессионалов), 2006 г. Стр. 183.
- ↑ MSDN: BITMAPFILEHEADER
- ↑ MSDN: BITMAPINFOHEADER
- ↑ MSDN: BITMAPV4HEADER
- ↑ MSDN: BITMAPV5HEADER
Ссылки
- Bitmap Storage Explanation (англ.)
- Описание формата BMP (рус.)
|
|
---|---|
Видео/аудио |
3GP • ASF • AVI • Bink • DMF • DPX • EVO • FLV • Matroska (MKV) • WebM • MPEG-PS • MPEG-TS • MP4 • MXF • NUT • Ogg • Ogg Media • QuickTime • RealMedia • Smacker • RIFF • VOB • сравнение • сжатие |
Аудио |
AIFF • APE • AU • DSD • DXD • MLP • MP3 • FLAC • SHN (англ.) WAV • WMA • сравнение • сжатие |
Графические форматы (сжатие) | |
Растровые |
Без потерь: BMP • FPX • GIF • ICO • ILBM • JBIG • PCX • PNG • PNM • PSD • RAW • TGA • WBMP • XCF • Включая сжатие с потерями: EXR • ICER • JBIG2 • JPEG / JP2 / JPEG-LS • JPEG XR (HD Photo) • PGF (англ.) • TIFF • WebP • Анимационные: APNG • GIF • MNG |
Векторные |
AI • CDR • EMF • EPS • PS • SVG • WMF • XPS • Анимационные: SVG • SWF • 3D: 3DS • VRML • X3D |
Комплексные |
CGM • DjVu • PDF |
Формат BMP
BMP (от англ. Bitmap Picture) — формат хранения растровых изображений, разработанный компанией Microsoft. С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle.
Формат PCX
PCX (PCExchange) — стандарт представления графической информации, не столь популярный аналог BMP, хотя поддерживается специфическими графическими редакторами, такими как Adobe Photoshop, Corel Draw, GIMP и др. В настоящее время практически вытеснен форматами, которые поддерживают лучшее сжатие: GIF, JPEG и PNG.
Тип формата — растровый. Большинство файлов такого типа использует стандартную палитру цветов, но формат был расширен из расчета на хранение 24-битных изображений
Достоинства формата
· возможность создания ограниченной палитры цветов (например, 16 или 256 цветов);
· поддерживается большим количеством приложений.
Недостатки формата
· не поддерживает цветовые системы, отличные от RGB;
· многочисленные варианты, особенно при работе с цветами, могут делать работу с файлом невозможным;
· неудобная схема сжатия в действительности может увеличивать размеры некоторых файлов.
Формат PNG
PNG (англ. portable network graphics) — растровый формат хранения графической информации, использующий сжатие без потерь.
Область применения
Формат PNG спроектирован для замены устаревшего и более простого формата GIF, а также, в некоторой степени, для замены значительно более сложного формата TIFF. Формат PNG позиционируется прежде всего для использования в Интернете и редактирования графики.
Формат Sun Raster
Формат изрбражений Sun Raster это родной растровый формат платформ Sun Microsystems использующих операционную систему SunOS. Этот формат поддерживает черно-белые, полутоновые и цветные растровые данные произвольной глубины цвета.
uster923
Вопрос по информатике:
Какой формат хранения растровых изображений был разработан компанией Microsoft. Файлы данного формата могут иметь расширения .bmp, .dib и .rle.
Ответ:
1. BMW
2. Opera
3. CMYK
4. BMP
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок — бесплатно!
Ответы и объяснения 1
kesot736
4. BMP
////////////////
Знаете ответ? Поделитесь им!
Гость ?
Как написать хороший ответ?
Как написать хороший ответ?
Чтобы добавить хороший ответ необходимо:
- Отвечать достоверно на те вопросы, на которые знаете
правильный ответ; - Писать подробно, чтобы ответ был исчерпывающий и не
побуждал на дополнительные вопросы к нему; - Писать без грамматических, орфографических и
пунктуационных ошибок.
Этого делать не стоит:
- Копировать ответы со сторонних ресурсов. Хорошо ценятся
уникальные и личные объяснения; - Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не
знаю» и так далее; - Использовать мат — это неуважительно по отношению к
пользователям; - Писать в ВЕРХНЕМ РЕГИСТРЕ.
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует?
Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие
вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи —
смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.
Смотреть что такое BMP в других словарях:
BMP
BMP — формат хранения растровых изображений, разработанный компанией Microsoft. Глубина цвета в данном формате может быть 1, 2, 4, 8, 16, 24, 32, 48 бит на пиксель. В формате BMP изображения могут храниться как есть или же с применением некоторых распространённых алгоритмов сжатия. В частности, формат BMP поддерживает RLE-сжатие без потери качества, а современные операционные системы и программное обеспечение позволяют использовать JPEG и PNG (эти форматы встраиваются в BMP как в контейнер).<p>[Программирование графических приложений. Словарь узкоспециализированных терминов. ФГАОУ ВПО «УрФУ имени первого Президента России Б.Н. Ельцина». (Электронный ресурс). Режим доступа: http:// media.ls.urfu.ru›435/1148/, свободный.]</p>… смотреть
BMP
1. background measurement program — программа измерения фона Земли;2. bipolar microprocessor — биполярный микропроцессор;3. bit map — битовое отображен… смотреть
BMP
= Bundesministerium für Verkehr und für das Post- und FernmeldewesenФедеральное министерство путей сообщения, почт и телеграфа (ФРГ)
BMP
(от bitmap) формат BMP стандартный формат растровых графических файлов, разработанный корпорацией Microsoft для Windows и OS/2 (цветность 1, 4, 8 и 24 разряда на точку); расширение имён файлов, записанных в этом формате см. тж. bitmap, PCX, TIFF… смотреть
BMP
сокр. от bit map битовое отображение, формат BMP (стандартный формат графических файлов, предусматривающий 4, 8 и 24 бита на точку )
BMP
bit map битовое отображение, формат BMP ( стандартный формат графических файлов, предусматривающий 4, 8 и 24 бита на точку )
BMP
• Cousin of .pdf and .eps • File extension for a Microsoft Paint file • Image file letters
BMP
битовый файл
Bitmap — битовое (растровое, точечное, матричное)
отображение графического объекта
BMP
best management practice
Это руководство посвящено тому, как удобно работать и выполнять популярные операции с данным типом файлов. Вы узнаете чем открыть Bmp формат на компьютере и с помощью различных онлайн сервисов.
Для реализации обычного просмотра картинок вам не потребуется абсолютно ничего кроме установленной операционной системы Microsoft Windows, т.к. она по умолчанию содержит в себе штатное средство, которое справится с этой задачей. Перед открытием вам предложат сделать выбор:
Но стандартные решения не всегда обладают достаточным функционалом, чтобы удовлетворить все запросы пользователя. Поэтому мы подготовили собственную подборку универсального программного обеспечения, которое справится с задачей гораздо лучше.
Выберите нужную платформу
- Windows
- Онлайн
- Android
Внимание! Рекомендуем скачивать и устанавливать только одно приложение. С нашего портала ссылки на дистрибутивы ведут исключительно на официальные сайты разработчика, поэтому можете не волноваться на счет вирусов.
Выберите PDF в качестве формата для сохранения
Для выбора PDF в качестве формата сохранения, нажмите на иконку PDF в нижней части экрана, либо кнопку + чтобы добавить возможность записи в этот формат.
Теперь просто нажмите кнопку Старт и конвертация начнется мгновенно, а PDF файлы сохранятся в указанное место с нужными параметрами и эффектами.
Попробуйте бесплатную демо-версию
О форматах BMP и PDF
Графический формат BMP разработала компания Microsoft для хранения растрового изображения в виде точечного рисунка. Определить принадлежность файла к нему можно по названию расширения: «.bmp», «.dib» или «.rle». BMP поддерживается операционной системой Windows и большинством графических программ. Недостатком является большой размер конечного файла.
Хотя для работы с PDF нужны специальные программы, он – стандарт среди электронных документов. Конвертирование в PDF позволяет обойтись без потерь качества. Формат разработала компания Adobe Systems.
Для телефонов на базе Android
На многих смартфонах изначально установлены разнообразные просмотрщики и часть из них довольно успешно с этим справляются. Чем открыть расширение BMP, если они вас не устраивают? Предлагаем поставить следующие приложения непосредственно из Google Play Store.
- Simple Gallery – бесплатный и удобный инструмент. Нам очень понравилось тем, что можно заблокировать доступ к просмотру галереи с помощью сканера отпечатка пальца. Иногда это очень важно;
- AA Image Viewer – полностью отсутствует реклама, чем обычно грешат аналогичные продукты;
- Редактор фото – разработка Dreams Room, а это значит, что в вашем распоряжении уникальный редактор, который содержит огромную базу эффектов. Есть портретная обработка, которая поможет убрать с лица прыщи и пятна, а также отбелит зубы и кожу. Девушкам оценят его по достоинству!
Вот такой минимальный набор для этого формата, но его вполне хватит. Надеемся, что этот материал оказался полезным!
Формат bmp можно открыть в Windows стандартными программами и утилитами:
- Программой Фотошоп. Эта программа способна открыть не только bmp формат, но и другие форматы картинок. Также с ее помощью вы сможете отредактировать картинку и сохранить уже в другом формате.
- Пеинт. Утилита Paint.net встроена во всех системах Windows. Она позволяет открыть и посмотреть bmp картинки простым нажатием на файл.
- FS Image Viewer. Еще одна программа, с помощью которой вы сможете открывать bmp формат. Данную программу пользователи считают простой в использовании и бесплатной.
- ACDSee. Эта утилита может просматривать различные изображения, в том числе и bmp картинки. У этой программы есть дополнительные инструменты, которые могут редактировать картинки и не только.
Конечно, это не все программы, которые способны открывать bmp файлы. Например, на блоге писали о программе XnView, которая выполняет работу по конвертации файлов и их открывает. В Интернете есть много других похожих утилит.
Более подробно о файлах BMP
Структура файла BMP состоит из четырех блоков
Данный формат графики называется «аппаратно независимый растр». Сам файл состоит таких частей: заголовка файла (здесь хранятся данные о ширине и высоте файла, цветовых характеристиках начальной точки, растровом идентификаторе), заголовка изображения (его может не быть), палитры (может не быть) и самой картинки.
Информация в растровых изображениях представлена в пикселях. При этом для каждого пикселя задано определенное положение и значение цвета. В файлах BMP может быть задана разная глубина цвета на один пиксель, что зависит от числа битов на пиксель (это указывается в заголовке файла). Кроме того файл bmp может содержать изображение в оттенках серого.
Онлайн-сервисы
Zamzar
Онлайн-конвертер позволяет преобразовывать до 36 графических форматов в 13 других. Среди них можно найти даже несколько редких, что является несомненным плюсом. Программа качественно преобразует изображения в PDF. К недостаткам можно отнести скорость работы сервиса.
Image Espresso
Сервис позволяет работать с изображениями онлайн. Загрузив файл, можно редактировать размер изображения, обрезать лишнее и поворачивать его.
При желании можно использовать весь функционал сервиса: наложить эффекты, текст, отрегулировать яркость изображения и другие характеристики. К недостаткам относится невозможность работать с файлами с размером более 10 Мб.
Где используется данный формат
Несмотря на то, что пользователи считают БМП формат устаревшим форматом, его используют во многих сферах деятельности.
Например, старые интерфейсы Windows и новые были созданы на основе этого формата. Почему именно он? Потому что его удобно использовать при создании картинок, которые не теряют качества после их изменений.
Также он может использоваться в Фотошопе, при редактировании картинки. Люди загружают подобные изображения в социальные сети, на свои сайты в Интернете.
Компания Майкрософт создала данный формат, который использует его во время разработок своих продуктов.
Элементарными функциями редактирования файлов BMP обладает отличный, бесплатный просмотровщик FastStone Image Viewer. По сравнению с ним, Paint.NET гораздо более продвинут, а тем кому нужен мощный, надежный и бесплатный редактор графики, можно смело рекомендовать GIMP
Статья полезная. Из вышеперечисленных программ использую уже больше 3 лет ACD See, но платную версию. Она и фотошоп заменит, и как листалка картинок сойдёт. Её смело могу советовать.
Хорошие выкладки. Не только будет новичкам полезно , но и матерым «софтовым» волкам. Я лично использую для bmp программу FastStone Image Viewer — можно переконвертировать, изменить размер, наложить графические фильтры
BMP является популярным форматом изображений без сжатия данных. Рассмотрим, при помощи каких программ можно просмотреть картинки с этим расширением.
Как конвертировать BMP в другие форматы
С конвертацией BMP в иные популярные графические форматы проблем не будет ввиду его широкой поддержки графическими редакторами. Чтобы сохранить BMP файл в PNG или JPEG, достаточно открыть такой файл любым графическим редактором из списка выше, и воспользоваться функциями экспорта или сохранения («Сохранить как…»). В списке форматов, в который будет сохранено содержимое, выбрать нужный. Ну и, конечно, указать путь для сохранения.
Итак, формат bmp популярен, поэтому редакторов, которые его «понимают», просто множество. Стоит испробовать несколько программ, чтобы выбрать наилучшую для себя.
Программы для просмотра BMP
Наверное, уже многие догадались, что, так как формат BMP служит для отображения картинок, то просмотреть содержимое этих файлов можно при помощи просмотрщиков изображений и графических редакторов. Кроме того, с данной задачей могут справиться некоторые другие приложения, например браузеры и универсальные просмотрщики. Далее мы рассмотрим алгоритм открытия файлов BMP при помощи конкретного софта.
Способ 1: FastStone Image Viewer
Начнем рассмотрение с популярного просмотрщика картинок FastStone Viewer.
- Откройте программу FastStone. В меню кликните «Файл» и далее переходите по «Открыть».
Запускается окошко открытия. Переместитесь в нем туда, где помещена картинка BMP. Выделите файл данного изображения и жмите «Открыть».
Выбранное изображение будет открыто в области для предпросмотра в нижнем левом углу окна. В правой его части будет показано содержимое директории, в которой находится целевая картинка. Для полноэкранного просмотра щелкните по файлу, отображаемому через интерфейс программы в каталоге его расположения.
Способ 2: IrfanView
Теперь рассмотрим процесс открытия BMP в другом популярном просмотрщике изображений IrfanView.
- Запустите IrfanView. Щелкайте «Файл»и выбирайте «Открыть».
Запущено окно открытия. Переместитесь в нем в директорию размещения картинки. Выделите ее и нажимайте «Открыть».
Способ 3: XnView
Следующим просмотрщиком изображений, действия в котором по открытию файла BMP будет рассмотрены, является XnView.
Приложения, программы
XnConvert
Приложение позволяет конвертировать до 500 графических форматов, при этом количество выходных типов формата достигает 80. Поэтому с его помощью можно преобразовать не только BMP в PDF, но и работать с другими редкими форматами, которые не получается открыть обычными приложениями.
Программа может конвертировать в пакетном режиме, импортировать папки, фильтры. Она снабжена полезными функциями для работы с файлами.
Adapter
Adapter – это простой и функциональный конвертер изображений, поддерживающий большинство популярных форматов. В этом приложении можно добавлять изображения, перетаскивая их на рабочую панель. После этого необходимо выбрать желаемый тип конвертации. Программа также отображает размеры исходного и конечного файлов.
Отличительные характеристики Adapter:
- в приложении можно изменять разрешение изображения;
- быстрая загрузка и конвертация;
- позволяет изменить расширение медиа-файлов.
Программа поддерживается операционными системами Windows и Mac.
Free Image Convert and Resize
Хотя эта программа не поддерживает много графических форматов, с её помощью можно легко преобразовать BMP в PDF.
Преимущество программы заключается в том, что можно одновременно работать с несколькими файлами, регулировать их размер и переименовать их. Конвертер поддерживается операционной системой Windows.
Фотоконвертер
Приложение может преобразовывать сразу несколько файлов за раз. Программа отличается простотой функционала, но качественно конвертирует изображения BPM в PDF. Доступна работа и с другими графическими форматами. С приложением можно работать не только через меню, но и с помощью командной строки.