GdiAlphaBlend 函式 (wingdi.h)
GdiAlphaBlend 函式會顯示具有透明或半透明圖元的點陣圖。
語法
BOOL GdiAlphaBlend(
[in] HDC hdcDest,
[in] int xoriginDest,
[in] int yoriginDest,
[in] int wDest,
[in] int hDest,
[in] HDC hdcSrc,
[in] int xoriginSrc,
[in] int yoriginSrc,
[in] int wSrc,
[in] int hSrc,
[in] BLENDFUNCTION ftn
);
參數
[in] hdcDest
目的地裝置內容的句柄。
[in] xoriginDest
目的地矩形左上角的 X 座標,以邏輯單位表示。
[in] yoriginDest
目的地矩形左上角的 Y 座標,以邏輯單位表示。
[in] wDest
目的地矩形的寬度,以邏輯單位表示。
[in] hDest
目的地矩形的高度,以邏輯單位表示。
[in] hdcSrc
來源裝置內容的句柄。
[in] xoriginSrc
來源矩形左上角的 X 座標,以邏輯單位表示。
[in] yoriginSrc
來源矩形左上角的 Y 座標,以邏輯單位表示。
[in] wSrc
來源矩形的寬度,以邏輯單位表示。
[in] hSrc
來源矩形的高度,以邏輯單位表示。
[in] ftn
來源和目的地位圖的 Alpha 混合函式、要套用至整個來源位圖的全域 Alpha 值,以及來源位圖的格式資訊。 來源和目的地混合函式目前僅限於AC_SRC_OVER。 請參閱 BLENDFUNCTION 和 EMRALPHABLEND 結構。
傳回值
如果函式成功,則傳回值為 TRUE。
如果函式失敗,傳回值為 FALSE。
此函式可以傳回下列值。
傳回碼 | Description |
---|---|
|
一或多個輸入參數無效。 |
備註
目的地座標會使用目前為目的地裝置內容指定的轉換來轉換。 來源座標會使用目前為來源裝置內容指定的轉換來轉換。
如果來源裝置內容識別增強型元檔裝置內容,則 (發生錯誤,且函式會傳回 FALSE) 。
如果目的地和來源位圖的色彩格式不相同, GdiAlphaBlend 會將來源位圖轉換為符合目的位圖。
GdiAlphaBlend 不支持鏡像。 如果來源或目的地的寬度或高度為負數,則此呼叫將會失敗。
轉譯至印表機時,請先使用 SHADEBLENDCAPS呼叫 GetDeviceCaps ,以判斷印表機是否支援與 GdiAlphaBlend 混合。 請注意,針對顯示DC,支援所有混合作業,而且這些旗標代表作業是否加速。
如果來源和目的地是相同的表面,也就是說,它們都是螢幕或相同的記憶體位圖,而來源和目的地矩形重疊,就會發生錯誤,而且函式會傳回 FALSE。
來源矩形必須完全位於來源介面內,否則會發生錯誤,且函式會傳回 FALSE。
如果來源或目的地的寬度或高度為負數,GdiAlphaBlend 就會失敗。
BLENDFUNCTION 的 SourceConstantAlpha 成員會指定要用於整個來源位圖的 Alpha 透明度值。 SourceConstantAlpha 值會與任何每圖元 Alpha 值結合。 如果 SourceConstantAlpha 為 0,則會假設影像是透明的。 將 SourceConstantAlpha 值設定為 255 (,這表示當您只想要使用每圖元 Alpha 值時,影像不透明) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |