Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

Auxcaps

typedef struct {

WORD wMid;

WORD wPid;

MMVERSION vDriverVersion;

CHAR szPname[MAXPNAMELEN];

WORD wTechnology;

WORD wReserved1;

DWORD dwSupport;

} AUXCAPS;

Переменные

  1. wMid — идентификатор производителя драйвера устройства вспомогательного устройства вывода аудио информации.

  2. wPid — идентификатор изделия вспомогательного устройства вывода аудио информации. В настоящее время ни одному вспомогательному устройству вывода аудио информации не присвоен идентификатор.

  3. vDriverVersion — версия драйвера вспомогательного устройства вывода аудио информации. В старшем байте данного слова содержится главный номер версии (располагается до десятичной точки), а в младшем — дополнительный номер версии (располагается после десятичной точки).

  4. szPname — заканчивающаяся нулём строка, содержащая наименование изделия.

  5. wTechnology — технология вспомогательного устройства вывода аудио информации. Определены следующие значения:

  • AUXCAPS_AUXIN — вывод аудио информации со вспомогательных входных гнёзд.

  • AUXCAPS_CDAUDIO — вывод аудио информации с встроенного привода CD-ROM.

  1. wReserved1 — фон.

  2. dwSupport — описание возможностей вспомогательного устройства вывода аудио информации. Определены следующие значения:

  • AUXCAPS_LRVOLUME — допускает раздельную регулировку уровня воспроизведения по левому и правому каналам.

  • AUXCAPS_VOLUME — допускает регулировку уровня воспроизведения.

  1. Если устройство допускает регулировку уровня воспроизведения, то устанавливается флаг AUXCAPS_VOLUME. Если устройство допускает раздельную регулировку уровня воспроизведения по левому и правому каналам, то одновременно устанавливаются флаги AUXCAPS_VOLUME и AUXCAPS_LRVOLUME.

Примечание

Объект структуры AUXCAPS используется для передачи и хранения информации о возможностях вспомогательного устройства вывода аудио информации.

Описание данной структуры содержится в файле заголовка mmsystem.h.

Bitmapinfo

typedef struct tagBITMAPINFO {

BITMAPINFOHEADER bmiHeader;

RGBQUAD bmiColors[1];

} BITMAPINFO;

Переменные

  1. bmiHeader — объект структуры BITMAPINFOHEADER, содержащий информацию о размере и формате цветов аппаратно-независимого битового образа.

  2. bmiColors — массив переменных типа RGBQUAD или DWORD, определяющий цвета в используемой палитре.

Примечание

Объект структуры BITMAPINFO используется для хранения информации о размере и палитре аппаратно-независимого битового образа (DIB).

Описание аппаратно-независимого битового образа состоит из двух частей: объекта структуры BITMAPINFO, описывающего размеры и палитру, используемую данным битовым образом, и массива, содержащего информацию яркости и цвете каждого из элементов изображения данного битового образа. Информация в массиве упакована по строкам и должна быть выровнена по границе двойного слова (переменной типа LONG). Для этого в конец каждой строки добавляются нулевые значения, выравнивающие её длину до указанной границы. При задании положительного значения высоты битового образа его нулевая позиция будет располагаться в левом нижнем углу выделенного прямоугольника. В противном случае нулевая позиция будет располагаться в левом верхнем углу этого прямоугольника.

Переменная biBitCount объекта структуры BITMAPINFOHEADER определяет число бит, используемых для кодирования цвета одного элемента изображения. Эта переменная может принимать одно из следующих значений:

  • При использовании монохромного битового образа массив bmiColors имеет два элемента. Каждому элементу изображения соответствует один бит в массиве битового образа. При нулевом значении этого бита для вывода элемента изображения используется цвет, определённый в нулевом элементе массива bmiColors. В противном случае для задания цвета используется первый элемент данного массива.

  • Если битовый образ использует не более 16 цветов, то массив bmiColors может содержать до 16 элементов. Каждому элементу изображения в этом случае соответствует 4-битовый индекс в таблице цветов. Например, если первый байт массива битового образа содержит значение 0x1F, то в нём содержится информация о цвете двух элементов изображения. Цвет первого из них определяется первым элементом массива цветов, а цвет второго — пятнадцатым.

  • Если битовый образ использует не более 256 цветов, то массив bmiColors может содержать до 256 элементов. В этом случае каждому из элементов изображения будет соответствовать свой байт в массиве битового образа.

  • Если битовый образ использует не более 216 цветов, то переменная biCompression объекта структуры BITMAPINFOHEADER может иметь значение BI_BITFIELDS. В этом случае элемент массива bmiColors содержит три маски для красного, зелёного и синего цветов соответственно, каждая из которых имеет формат двойного слова (DWORD). Биты в масках должны располагаться смежено и не перекрываться с битами других масок. При этом некоторые биты могут быть не использованы ни в одной из масок. Каждому из элементов изображения соответствует отдельное слово в массиве битового образа.

  • Если битовый образ использует не более 224 цветов и переменная bmiColors имеет нулевое значение, то каждые 3 байта в массиве битового образа представляют собой относительную интенсивность синего, зелёного и красного цветов изображения.

  • Если битовый образ использует не более 232 цветов, то переменная biCompression объекта структуры BITMAPINFOHEADER может иметь значение BI_BITFIELDS. В этом случае элемент массива bmiColors содержит три маски для красного, зелёного и синего цветов соответственно, каждая из которых имеет формат двойного слова (DWORD). Биты в масках должны располагаться смежено и не перекрываться с битами других масок. При этом некоторые биты могут быть не использованы ни в одной из масок. Каждому из элементов изображения соответствует двойное слово (DWORD) в массиве битового образа.

Переменная biClrUsed объекта структуры BITMAPINFOHEADER определяет число используемых индексов в таблице цветов битового образа. Если переменная biClrUsed имеет нулевое значение, то битовый образ использует максимальное количество цветов, определяемое значением переменной biBitCount.

Цвета в массиве bmiColors должны располагаться в порядке их важности. Вместо цветов формата RGB в массиве bmiColors могут быть указаны 16-разрядные индексы цветов в текущей реализованной логической палитре. В этом случае при вызове функций, работающих с аппаратно-независимыми битовыми образами, в аргументе iUsage следует передавать значение DIB_PAL_COLORS.

Если битовый образ упакован (то есть, если массив битового образа следует за объектом структуры BITMAPINFO и для обращения к нему используется один указатель), переменная biClrUsed при установке флага DIB_PAL_COLORS должна иметь чётное значение, чтобы массив аппаратно-независимого битового образа был бы выровнен по границе двойного слова.

Переменная bmiColors не должна содержать индексы палитры, если данный битовый образ предполагается сохранить в файле или передать другому приложению. Если приложение не может обеспечить полный контроль за используемой палитрой, таблица цветов битового образа должна содержать только значения цветов в формате RGB.

Для доступа к переменной bmiColors объекта структуры BITMAPINFO может быть использована следующая конструкция:

pColor = ((LPSTR)pBitmapInfo + (WORD)(pBitmapInfo->bmiHeader.biSize));

Описание данной структуры содержится в файле заголовка wingdi.h.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]