Поделиться через


Функция 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

См. также раздел

Функции DrawDib