Структура BITMAPV5HEADER информационный заголовочный файл точечного рисунка. Это - улучшенная версия структуры BITMAPINFOHEADER.
Windows 95 and Windows NT 4.0: Приложения могут использовать структуру BITMAPV4HEADER.
Windows NT 3.51 and earlier: Приложения должны продолжать использовать структуру 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; |
Члены структуры
bV5Size
Определяет число байтов необходимых для структуры. Приложения должны использовать этот член структуры, чтобы выяснить, какая используется информационная заголовочная структура точечного рисунка.
bV5Width
Определяет ширину точечного рисунка, в пикселях.Если член bV5Compression равен BI_JPEG или BI_PNG, то член bV5Width определяет ширину развернутого изображения JPEG или PNG, в пикселях.
bV5Height
Определяет высоту точечного рисунка, в пикселях. Если значение члена bV5Height положительное, то точечный рисунок - это идущий снизу вверх рисунок формата DIB, а его исходные координаты - левый нижний угол. Если значение bV5Height отрицательное, то точечный рисунок - это идущий сверху вниз рисунок формата DIB, а его исходные координаты - левый верхний угол.Если bV5Height - отрицательное значение, указывающее, что это нисходящий аппаратно-независимый растровый формат (DIB), член структуры bV5Compression должен быть или BI_RGB, или BI_BITFIELDS. Идущие сверху вниз (нисходящие) аппаратно-независимые растровые форматы (DIB) не могут сжиматься.
Если член bV5Compression равен BI_JPEG или BI_PNG, то член bV5Height определяет высоту развернутого изображения формата JPEG или PNG, в пикселях.
bV5Planes
Устанавливает число плоскостей принимающего устройства. Это значение должно быть установлено в 1.
bV5BitCount
Устанавливает число битов, которые определяют каждый пиксель и максимальное число цветов в точечном рисунке.
Этот член структуры может быть одним из нижеперечисленных значений.
Значение | Предназначение |
---|---|
0 | Число битов на пиксель задается или подразумевается форматом файла JPEG или PNG. |
1 | Точечный рисунок является монохромным, а член bmiColors структуры BITMAPINFO содержит две записи. Каждый бит в растровом массиве представляет пиксель. Если бит сброшен, пиксель отображается цветом первой записи в таблице цветов bmiColors. Если бит установлен, пиксель имеет цвет второй записи в таблице. |
4 | Точечный рисунок имеет максимум 16 цветов, а член bmiColors структуры BITMAPINFO содержит до 16 записей. Каждый пиксель в точечном рисунке представлен 4-битным индексом в таблице цветов. Например, если первый байт в точечном рисунке - 0x1F, он представляет два пикселя. Первый пиксель содержит цвет во второй записи таблицы, а второй пиксель содержит цвет в шестнадцатой записи таблицы. |
8 | Точечный рисунок имеет максимум 256 цветов, а член bmiColors структуры BITMAPINFO содержит до 256 записей. В этом случае, каждый байт в массиве представляет одиночный пиксель. |
16 | Точечный
рисунок имеет максимум 216 цветов.
Если
член bV5Compression структуры BITMAPV5HEADER
равен BI_RGB, то член
bmiColors структуры
BITMAPINFO имеет значение ПУСТО (NULL).
Каждое слово (WORD) в массиве точечного
рисунка представляет одиночный
пиксель. Относительные
интенсивности красного, зеленого и
синего цвета представлены пятью
битами для каждого компонента
цвета. Значение для синего
находится в самых младших пяти битах,
следующие пятерки битов
каждая для
зеленого и красного цвета. Старший
значащий бит не используется.
Таблица цветов bmiColors используется
для того, чтобы оптимизировать цвета,
используемые на устройствах
основной палитры, и должна содержать
число записей, заданных членом bV5ClrUsed
структуры BITMAPV5HEADER. Если член bV5Compression структуры BITMAPV5HEADER - BI_BITFIELDS, член структуры bmiColors содержит три двойных слова (DWORD) маски цвета , которые, соответственно, определяют красную, зеленую и синюю компоненты каждого пикселя. Каждое слово (WORD) в массиве точечного рисунка представляет одиночный пиксель. Если член структуры bV5iCompression - BI_BITFIELDS, биты, установленные в каждом двойном слове (DWORD) маски, должны следовать друг за другом и не должны перекрывать биты другой маски. Использовать все биты в пикселе нет необходимости. |
24 | Точечный рисунок имеет максимум 224 цветов, а член bmiColors структуры BITMAPINFO имеет значение ПУСТО (NULL). Каждый 3-байтовый триплет в массиве точечного рисунка представляет относительные интенсивности синего, зеленого и красного цвета, соответственно, для пикселя. Таблица цветов bmiColors используется для того, чтобы оптимизировать цвета, используемые на устройствах основной палитры и должна содержать число записей, определяемых членом bV5ClrUsed структуры BITMAPV5HEADER. |
32 | Точечный рисунок
имеет максимум 232 цветов. Если член
bV5Compression структуры BITMAPV5HEADER равен
BI_RGB, член bmiColors структуры
BITMAPINFO
имеет значение ПУСТО (NULL). Каждое
двойное слово (DWORD) в массиве
точечного рисунка представляет
относительную интенсивность синего,
зеленого и красного цвета,
соответственно, для пикселя. Старший
байт в каждом двойном слове (DWORD) не
используется. Таблица цветов bmiColors
используется для того, чтобы
оптимизировать цвета, используемые
на устройствах основной палитры и
должна содержать число записей,
определяемых членом bV5ClrUsed
структуры BITMAPV5HEADER. Если член bV5Compression структуры BITMAPV4HEADER равен BI_BITFIELDS, член структуры bmiColors содержит три двойных слова (DWORD) маски цвета , которые устанавливают компоненты красного, зеленого и синего цвета, соответственно, каждого пикселя. Каждое двойное слово (DWORD) в массиве точечного рисунка представляет одиночный пиксель. |
bV5Compression
Определяет, что точечный рисунок не сжат. Члены структуры bV5RedMask, bV5GreenMask и bV5BlueMask задают красную, зеленую и синюю составляющие каждого пикселя. Это правильно тогда, когда используются точечные рисунки с 16-ю 32-мя битами на пиксель. Этот член структуры может быть одним из нижеперечисленных значений.
Примечание
переводчика:
определение этого члена структуры
несколько странное, поскольку оно не
вписывается в общую логику как подобных
структур, так и в само наименование
члена. Проверка соответствия текста
определения, с которого был перевод, с
исходным текстом на сайте www.msdn.microsoft.com
показала сходство слово в слово.
Предполагаю, что здесь вкралась ошибка и
речь идет о типах сжатия битового образа.
В качестве подтверждения этого предположения смотри определение члена структуры bV5ClrUsed |
Значение | Предназначение |
---|---|
BI_RGB | Несжимаемый формат. |
BI_RLE8 | Формат с кодированием длины серий (RLE) для точечных рисунков с 8 битами на пиксель (bpp). Этот сжатый формат - 2-байтовый формат, состоящий из байта числа элементов, сопровождаемого байтом, содержащим индекс цвета. Если член структуры bV5Compression - BI_RGB, а bV5BitCount равен 16, 24 или 32, то массив точечного рисунка устанавливает фактические интенсивности синего, зеленого и красного цвета вместо того, чтобы использовать индексы таблицы цветов. Подробную информацию см. в статье Сжатие точечного рисунка. |
BI_RLE4 | RLE формат для точечных рисунков с 4 битами на пиксель (bpp). Этот сжатый формат - 2-байтовый формат, состоящий из байта числа элементов, сопровождаемый двумя индексами цвета длиной в слово (DWORD). Подробную информацию см. в статье Сжатие точечного рисунка. |
BI_BITFIELDS | Устанавливает, что точечный рисунок не сжат и что таблица цветов состоит из трех двойных слов (DWORD) маски цвета , которые задают красный, зеленый и синие компоненты каждого пикселя. Это правильно тогда, когда используются точечные рисунки с 16-ю 32-мя битами на пиксель (bpp). |
BI_JPEG | Устанавливает, что изображение сжимается, используя формат преобразования файла JPEG. Сжатие формата JPEG меняет местом с обычным сжатием, чтобы уйти от потерь; можно достигнуть степени сжатия 20:1 с небольшими малозаметными потерями. |
BI_PNG | Устанавливает, что изображение сжимается, используя формат преобразования файла PNG. |
bV5SizeImage
Определяет размер изображения, в байтах. Параметр может быть установлен в нуль для точечного рисунка с флажком BI_RGB.Если член структуры bV5Compression равен BI_JPEG или BI_PNG, то член структуры bV5SizeImage равен размеру буфера изображения JPEG или PNG.
bV5XPelsPerMeter
Устанавливает разрешающую способность по горизонтали для принимающего устройства точечного рисунка, в пикселях на метр. Приложение может использовать это значение, чтобы выбирать битовый образ из группы ресурсов, который лучше всего соответствует характеристикам текущего устройства.bV5YPelsPerMeter
Устанавливает разрешающую способность по вертикали для принимающего устройства точечного рисунка, в пикселях на метр.bV5ClrUsed
Устанавливает число индексов цвета в таблице цветов, которые фактически используются точечным рисунком. Если это значение равняется нулю, точечный рисунок использует максимальное число цветов, соответствующих значению члена структуры bV5BitCount для метода сжатия, заданного членом bV5Compression.Если bV5ClrUsed не нуль, а член структуры bV5BitCount - меньше чем 16, член структуры bV5ClrUsed устанавливает фактическое число цветов доступных драйверу устройства или графической машине. Если bV5BitCount равен 16 или большему значению, член структуры bV5ClrUsed устанавливает размер используемой таблицы цветов для оптимизации эффективности системных цветовых палитр. Если bV5BitCount равняется 16 или 32, оптимальная цветовая палитра начинается непосредственно вслед за BITMAPV5HEADER. Если bV5ClrUsed не нуль, таблица цветов используется в пакетных устройствах, а bV5ClrUsed устанавливает число записей.
bV5ClrImportant
Устанавливает число индексов цвета, которые требуются чтобы показать на экране точечный рисунок. Если это значение равняется нулю, требуются все цвета.bV5RedMask
Маска цвета, которая устанавливает красный компонент каждого пикселя, правильная только в том случае, если bV5Compression, установлен в BI_BITFIELDS.
bV5GreenMask
Маска цвета, которая устанавливает зеленый компонент каждого пикселя, правильная только в том случае, если bV5Compression, установлен в BI_BITFIELDS.
bV5BlueMask
Маска цвета, которая устанавливает синий компонент каждого пикселя, правильная только в том случае, если bV5Compression, установлен в BI_BITFIELDS.
bV5AlphaMask
Маска цвета, которая определяет α-компонент (прозрачности) каждого пикселя.bV5CSType
Определяет цветовое пространство растрового формата DIB. Таблица ниже определяет значения для члена структуры bV5CSType.Значение | Предназначение |
---|---|
LCS_CALIBRATED_RGB | Это значение указывает на то, что значения оконечных точек и γ даются в соответствующих полях. |
LCS_sRGB | Устанавливает, что точечный рисунок находится в sRGB цветовом пространстве. |
LCS_WINDOWS_COLOR_SPACE | Это значение указывает, что точечный рисунок находится в цветовом пространстве системы по умолчанию, sRGB. |
PROFILE_LINKED | Это значение указывает, что член bV5ProfileData указывает на имя файла, используемого для конфигурации, (значения γ и оконечных точек игнорируются). |
PROFILE_EMBEDDED | Это значение определяет, что член bV5ProfileData указывает на буфер в памяти, который содержит используемую конфигурацию (значения γ и оконечных точек игнорируются). |
См. структуру LOGCOLORSPACE, чтобы получить информацию, которая определяет логическое цветовое пространство.
bV5Endpoints
Структура CIEXYZTRIPLE, устанавливающая x, y и z координаты трех цветов, которые соответствуют красной , зеленой и синей оконечным точкам для логического цветового пространства, связанного с точечным рисунком. Этот член структуры игнорируется, если член структуры bV5CSType не установлен в LCS_CALIBRATED_RGB.bV5GammaRed
Настроенная характеристика чувствительности для красного цвета. Используется, если член структуры bV5CSType установлен в LCS_CALIBRATED_RGB. Задается в формате 1616.
bV5GammaGreen
Настроенная характеристика чувствительности для зеленого цвета. Используется, если член структуры bV5CSType установлен в LCS_CALIBRATED_RGB. Задается в формате 1616.
bV5GammaBlue
Настроенная характеристика чувствительности для синего цвета. Используется, если член структуры bV5CSType установлен в LCS_CALIBRATED_RGB. Задается в формате 1616.
bV5Intent
Режим подбора цветов для точечного рисунка. Этот член может быть одним из нижеперечисленных значений.
Значение | Цель | Имя ICC | Предназначение |
---|---|---|---|
LCS_GM_ABS_COLORIMETRIC | Эквивалент | Абсолютный колориметрический | Сохраняет белую точку. Соответствует цветам близким к их чистому цвету в принимающей гамме |
LCS_GM_BUSINESS | Графики | Насыщенный | Сохраняет насыщенность. Используется для деловых диаграмм и других ситуаций в которой требуются не размытые цвета. |
LCS_GM_GRAPHICS | Пробное изображение | Относительный колориметрический | Сохраняет колориметрическое соответствие. Используется для эскизных проектов и именованных цветов. |
LCS_GM_IMAGES | Рисунок | Определяющий восприятие | Сохраняет контраст. Используется для фотографий и естественных изображений. |
bV5ProfileData
Смещение, в байтах, от начала структуры BITMAPV5HEADER до начала данных конфигурации. Если конфигурация встраивается, данные конфигурации - фактическая конфигурация, и она привязана. (Данные конфигурации - это имя файла с нулевым символом в конце конфигурации.) Данные не могут быть строкой Unicode. Они должны составляться исключительно из символов набора Windows (кодовая страница 1252). Эти члены конфигурации игнорируются, если член структуры bV5CSType не установлен в PROFILE_LINKED или PROFILE_EMBEDDED.
bV5ProfileSize
Размер встроенных данных конфигурации, в байтах.bV5Reserved
Этот член структуры зарезервирован для будущего использования. Он должен быть установлен в нуль.Замечания
Если bV5Height - отрицательное значение, которое указывает, что это идущий сверху вниз аппаратно-независимый растровый формат (DIB), то bV5Compression должен быть или BI_RGB или BI_BITFIELDS. Идущие сверху вниз(нисходящие) аппаратно-независимые растровые форматы (DIB) нельзя сжимать.
Интерфейс Независимого управления цветом (ICM) 2.0 дает возможность связывать или встраивать в аппаратно-независимые растровые форматы (DIB) совокупности параметров соответствия цветов Международного консорциума по цвету (ICC ). Подробную информацию см. в статье Структуры используемые в Независимом управлении цветом (ICM) 2.0.
Когда аппаратно-независимый растровый формат (DIB) загружен в память, данные конфигурации (если предусмотрены) должны следовать за таблицей цветов, а член bV5ProfileData должен предусмотреть смещение данных конфигурации от начала структуры BITMAPV5HEADER. Значение сохраненное в bV5ProfileDate, должно отличаться от значения, возвращенного оператором sizeof, передаваемое как аргумент в структуру BITMAPV5HEADER, потому что bV5ProfileData - это смещение в байтах от начала структуры BITMAPV5HEADER до начала данных конфигурации. (Биты точечного рисунка в памяти не следуют за таблицей цветов). Приложения должны изменять член структуры bV5ProfileData после загрузки аппаратно-независимого растрового формата (DIB) в память.
Для сжатых аппаратно-независимых растровых форматов (DIB), данные конфигурации должны следовать за битами точечного рисунка подобно формату файла. Член структуры bV5ProfileData должен все таки давать смещение данных конфигурации от начала BITMAPV5HEADER.
Приложения должны обращаться к данным конфигурации только тогда, когда член bV5Size равен размеру BITMAPV5HEADER, а член bV5CSType равняется PROFILE_EMBEDDED или PROFILE_LINKED.
Если конфигурация связана, путь конфигурации может быть любым полностью составным именем (включая в себя сетевой путь), который может быть открыт при помощи использования функции CreateFile.
Смотри также
Обзор Точечные рисунки, Структуры, используемые точечными рисунками, BITMAPINFO, BITMAPINFOHEADER, BITMAPV4HEADER, CIEXYZTRIPLE, CreateDIBitmap, LOGCOLORSPACE, StretchDIBits
Размещение и совместимость BITMAPV5HEADER |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Нет |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Нет |
Используемая библиотека |
Нет |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |