Функция DrawDibBegin (vfw.h)
Функция DrawDib изменяет параметры контроллера домена DrawDib или инициализирует новый контроллер домена DrawDib.
Синтаксис
BOOL VFWAPI DrawDibBegin(
HDRAWDIB hdd,
HDC hdc,
int dxDst,
int dyDst,
LPBITMAPINFOHEADER lpbi,
int dxSrc,
int dySrc,
UINT wFlags
);
Параметры
hdd
Дескриптор для контроллера домена DrawDib.
hdc
Дескриптор контроллера домена для рисования. Этот параметр является необязательным.
dxDst
Ширина целевого прямоугольника в MM_TEXT клиентских единицах.
dyDst
Высота целевого прямоугольника в MM_TEXT единицах клиента.
lpbi
Указатель на структуру BITMAPINFOHEADER , содержащую формат изображения. Таблица цветов для DIB соответствует формату изображения, а член biHeight должен иметь положительное значение.
dxSrc
Ширина исходного прямоугольника (в пикселях).
dySrc
Высота исходного прямоугольника в пикселях.
wFlags
Применимые флаги для функции. Определены следующие значения.
Значение | Значение |
---|---|
DDF_ANIMATE | Разрешает анимацию палитры. Если это значение присутствует, DrawDib резервирует как можно больше записей, задав PC_RESERVED в записях массива palPalEntry структуры LOGPALETTE , и палитру можно анимировать с помощью функции DrawDibChangePalette . Если приложение использует функцию DrawDibBegin с функцией DrawDibDraw , задайте это значение с помощью DrawDibBegin , а не DrawDibDraw. |
DDF_BACKGROUNDPAL | Реализует палитру, используемую для рисования в качестве фоновой задачи, оставляя текущую палитру, используемую для отображения, без изменений. (Это значение является взаимоисключающим из DDF_SAME_HDC.) |
DDF_BUFFER | Вызывает попытку DrawDib использовать буфер вне экрана, чтобы можно было использовать DDF_UPDATE . Это отключает распаковку и рисование непосредственно на экране. Если drawDib не может создать буфер вне экрана, он будет распаковывать или рисовать непосредственно на экране. Дополнительные сведения см. в разделе DDF_UPDATE и DDF_DONTDRAW значений, описанных для DrawDibDraw. |
DDF_DONTDRAW | Текущее изображение не рисуется, но распаковывается. DDF_UPDATE можно использовать позже для рисования изображения. Этот флаг заменяет флаг DDF_PREROLL . |
DDF_FULLSCREEN | Не поддерживается. |
DDF_HALFTONE | Всегда падает dib в стандартную палитру независимо от палитры DIB. Если приложение использует DrawDibBegin с DrawDibDraw, задайте это значение с помощью DrawDibBegin , а не DrawDibDraw. |
DDF_JUSTDRAWIT | Рисует изображение с помощью GDI. Запрещает функциям DrawDib распаковывание, растягивание или сжатие изображения. Это лишает DrawDib возможностей, которые отличают его от функции StretchDIBits . |
DDF_SAME_DRAW | Используйте текущие параметры рисования для DrawDibDraw. Используйте это значение, только если lpbi, dxDest, dyDest, dxSrc и dySrc не изменились с момента использования DrawDibDraw или DrawDibBegin. Этот флаг заменяет флаги DDF_SAME_DIB и DDF_SAME_SIZE . |
DDF_SAME_HDC | Используйте текущий дескриптор контроллера домена и палитру, связанную с контроллером домена. |
DDF_UPDATE | Последнее буферизованное растровое изображение необходимо перерисовывать. Если рисование завершается сбоем с этим значением, буферизованное изображение недоступно, и перед обновлением отображения необходимо указать новое изображение. |
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения или false в противном случае.
Комментарии
Эта функция готовится к рисованию DIB, заданного lpbi , к контроллеру домена. Изображение растягивается до размера, заданного dxDest и dyDest. Если для dxDest и dyDest задано значение –1, diB рисуется в масштабе 1:1 без растяжения.
Вы можете обновить флаги контроллера домена DrawDib, переименовав DrawDibBegin, указав новые флаги и изменив по крайней мере один из следующих параметров: dxDest, dyDest, lpbi, dxSrc или dySrc.
Если параметры DrawDibBegin не изменились, последующие вызовы функции не оказывают никакого влияния.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | vfw.h |
Библиотека | Vfw32.lib |
DLL | Msvfw32.dll |