DrawDibDraw 函式 (vfw.h)
DrawDibDraw函式會將 DIB 繪製到螢幕。
語法
BOOL VFWAPI DrawDibDraw(
HDRAWDIB hdd,
HDC hdc,
int xDst,
int yDst,
int dxDst,
int dyDst,
LPBITMAPINFOHEADER lpbi,
LPVOID lpBits,
int xSrc,
int ySrc,
int dxSrc,
int dySrc,
UINT wFlags
);
參數
hdd
DrawDib DC 的控制碼。
hdc
DC 的控制碼。
xDst
目的地矩形左上角 MM_TEXT 用戶端座標中的 x 座標。
yDst
目的地矩形左上角 MM_TEXT 用戶端座標中的 Y 座標。
dxDst
目的地矩形 MM_TEXT 用戶端座標的寬度。 如果 dxDst 為 -1,則會使用點陣圖的寬度。
dyDst
目的地矩形 MM_TEXT 用戶端座標的高度。 如果 dyDst 為 -1,則會使用點陣圖的高度。
lpbi
包含影像格式的 BITMAPINFOHEADER 結構的指標。 BITMAPINFOHEADER中 DIB 的色彩表格遵循格式,且 biHeight成員必須是正值;DrawDibDraw不會繪製反向 DIB。
lpBits
包含點陣圖位的緩衝區指標。
xSrc
來源矩形左上角的 X 座標,以圖元為單位。 座標 (0,0) 代表點陣圖的左上角。
ySrc
來源矩形左上角的 Y 座標,以圖元為單位。 座標 (0,0) 代表點陣圖的左上角。
dxSrc
來源矩形的寬度,以圖元為單位。
dySrc
來源矩形的高度,以圖元為單位。
wFlags
繪圖適用的旗標。 定義下列值。
值 | 意義 |
---|---|
DDF_BACKGROUNDPAL | 瞭解用於在背景繪製的調色盤,讓用於顯示的實際調色盤保持不變。 只有在未設定 DDF_SAME_HDC 時,這個值才有效。 |
DDF_DONTDRAW | 目前影像已解壓縮,但不會繪製。 此旗標會取代 DDF_PREROLL 旗標。 |
DDF_FULLSCREEN | 不支援。 |
DDF_HALFTONE | 不論 DIB 的調色盤為何,一律會將 DIB 複製到標準調色盤。 如果您的應用程式使用 DrawDibBegin 函式,請在 DrawDibBegin 中設定此值,而不是 在 DrawDibDraw中設定此值。 |
DDF_HURRYUP | 資料不需要繪製 (也就是說,它可以卸載) ,而且DDF_UPDATE 不會用來重新叫用這項資訊。 DrawDib 只會在建置下一個畫面時檢查此值;否則會忽略值。此值通常用來同步處理視訊和音訊。 同步處理資料時,應用程式應該使用這個值傳送影像,以防驅動程式需要緩衝處理框架以解壓縮後續的畫面。 |
DDF_NOTKEYFRAME | DIB 資料不是主要畫面格。 |
DDF_SAME_HDC | 使用目前的 DC 控制碼,以及目前與 DC 相關聯的調色盤。 |
DDF_SAME_DRAW | 使用 DrawDibDraw的目前繪圖參數。 只有在使用DrawDibDraw或DrawDibBegin之後,lpbi、dxDst、dyDst、dxSrc和dySrc尚未變更時,才使用此值。 DrawDibDraw 通常會檢查參數,如果參數已變更, DrawDibBegin 會準備 DrawDib DC 以進行繪圖。 此旗標會取代 DDF_SAME_DIB 和 DDF_SAME_SIZE 旗標。 |
DDF_UPDATE | 最後緩衝的點陣圖是要重新繪製。 如果繪圖失敗,則無法使用緩衝影像,而且必須先指定新的影像,才能更新顯示器。 |
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。
備註
DDF_DONTDRAW 會導致 DrawDibDraw 解壓縮,但不會顯示影像。 指定DDF_UPDATE顯示影像的 DrawDibDraw後續 呼叫。
如果 DrawDib DC 未指定螢幕外緩衝區,則指定 DDF_DONTDRAW 會導致畫面立即繪製到畫面。 指定DDF_UPDATE的 DrawDibDraw後續呼叫會失敗。
雖然它們在不同的時間設定, 但DDF_UPDATE 和 DDF_DONTDRAW 可以一起使用,以在畫面外建立複合影像。 當螢幕外影像完成時,您可以呼叫 DrawDibDraw來顯示影像。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vfw.h |
程式庫 | Vfw32.lib |
Dll | Msvfw32.dll |