DrawDibBegin 函式 (vfw.h)
DrawDib 函式會變更 DrawDib DC 的參數,或初始化新的 DrawDib DC。
語法
BOOL VFWAPI DrawDibBegin(
HDRAWDIB hdd,
HDC hdc,
int dxDst,
int dyDst,
LPBITMAPINFOHEADER lpbi,
int dxSrc,
int dySrc,
UINT wFlags
);
參數
hdd
DrawDib DC 的控制碼。
hdc
要繪製的 DC 控制碼。 這是選擇性參數。
dxDst
目的地矩形 MM_TEXT 用戶端單位的寬度。
dyDst
目的地矩形 MM_TEXT 用戶端單位的高度。
lpbi
包含影像格式的 BITMAPINFOHEADER 結構的指標。 DIB 的色彩表格遵循影像格式, 而 biHeight 成員必須是正值。
dxSrc
來源矩形的寬度,以圖元為單位。
dySrc
來源矩形的高度,以圖元為單位。
wFlags
函式適用的旗標。 定義下列值。
值 | 意義 |
---|---|
DDF_ANIMATE | 允許調色盤動畫。 如果存在這個值,DrawDib 會藉由在LOGPALETTE結構的palPalEntry陣列專案中設定PC_RESERVED來保留盡可能多的專案,而且使用DrawDibChangePalette函式可以動畫顯示調色盤。 如果您的應用程式使用 DrawDibBegin 函式搭配 DrawDibDraw 函式,請使用 DrawDibBegin 而非 DrawDibDraw來設定此值。 |
DDF_BACKGROUNDPAL | 實現用來繪製做為背景工作的調色盤,讓顯示所使用的目前調色盤保持不變。 (此值互斥 DDF_SAME_HDC.) |
DDF_BUFFER | 導致 DrawDib 嘗試使用螢幕外緩衝區,以便使用 DDF_UPDATE 。 這會停用解壓縮並直接繪製到畫面。 如果 DrawDib 無法建立螢幕外緩衝區,則會直接解壓縮或繪製到畫面。 如需詳細資訊,請參閱DrawDibDraw所述的DDF_UPDATE和DDF_DONTDRAW值。 |
DDF_DONTDRAW | 目前影像未繪製,但已解壓縮。 DDF_UPDATE 稍後可用來繪製影像。 此旗標會取代 DDF_PREROLL 旗標。 |
DDF_FULLSCREEN | 不支援。 |
DDF_HALFTONE | 不論 DIB 的調色盤為何,一律會將 DIB 複製到標準調色盤。 如果您的應用程式使用 DrawDibBegin 搭配 DrawDibDraw,請使用 DrawDibBegin 而非 DrawDibDraw來設定此值。 |
DDF_JUSTDRAWIT | 使用 GDI 繪製影像。 禁止 DrawDib 函式解壓縮、延展或重複顯示影像。 這會去除與 StretchDIBits 函式區別的功能 DrawDib。 |
DDF_SAME_DRAW | 使用 DrawDibDraw的目前繪圖參數。 只有在使用DrawDibDraw或DrawDibBegin之後,lpbi、dxDest、dyDest、dxSrc和dySrc尚未變更時,才使用此值。 此旗標會取代 DDF_SAME_DIB 和 DDF_SAME_SIZE 旗標。 |
DDF_SAME_HDC | 使用目前的 DC 控制碼,以及目前與 DC 相關聯的調色盤。 |
DDF_UPDATE | 上次緩衝處理的點陣圖必須重新繪製。 如果繪圖失敗,則無法使用緩衝影像,而且必須先指定新的影像,才能更新顯示器。 |
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。
備註
此函式會準備將 lpbi 指定的 DIB 繪製至 DC。 影像會延展至 dxDest 和 dyDest所指定的大小。 如果 dxDest 和 dyDest 設定為 -1,則 DIB 會繪製到 1:1 刻度,而不延展。
您可以重新發出 DrawDibBegin、指定新的旗標,以及變更下列至少一項設定來更新 DrawDib DC 的旗標: dxDest、 dyDest、 lpbi、 dxSrc或 dySrc。
如果 DrawDibBegin 的參數尚未變更,則對函式的後續呼叫不會有任何作用。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vfw.h |
程式庫 | Vfw32.lib |
Dll | Msvfw32.dll |