共用方式為


TransparentBlt 函式 (wingdi.h)

TransparentBlt 函式會執行與指定來源裝置內容圖元矩形相對應的色彩數據位區塊傳輸至目的地裝置內容。

語法

BOOL TransparentBlt(
  [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] UINT crTransparent
);

參數

[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] crTransparent

來源位圖中要視為透明的 RGB 色彩。

傳回值

如果函式成功,則傳回值為 TRUE

如果函式失敗,傳回值為 FALSE

備註

TransparentBlt 函式可與相容的點陣圖搭配運作, (DDB) 。

TransparentBlt 函式支援來源位圖的所有格式。 不過,針對 32 個 bpp 位圖,它只會複製 Alpha 值。 使用 AlphaBlend 來指定32位像素點圖與透明度。

如果來源和目的地矩形的大小不相同,則會延展來源位圖以符合目的矩形。 使用 SetStretchBltMode 函式時,BlackONWHITE 和 WHITEONBLACK 的 iStretchMode 模式會轉換成 TransparentBlt 函式的 COLORONCOLOR。

目的地裝置內容會指定目的地座標的轉換類型。 來源裝置內容會指定來源座標的轉換類型。

如果來源或目的地的寬度或高度為負數,TransparentBlt 不會鏡像位圖。

在多個監視器系統中使用時, hdcSrchdcDest 都必須參考相同的裝置,否則函式將會失敗。 若要在不同裝置的 DC 之間傳輸數據,請呼叫 GetDIBits,將記憶體位圖轉換成 DIB。 若要向第二個裝置顯示 DIB,請呼叫 SetDIBitsStretchDIBits

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 wingdi.h (包含 Windows.h)
程式庫 Msimg32.lib
Dll Msimg32.dll

另請參閱

AlphaBlend

點陣圖函式

位圖概觀

GetDIBits

SetDIBits

SetStretchBltMode

StretchDIBits