GradientFill 函式 (wingdi.h)
GradientFill 函式會填滿矩形和三角形結構。
語法
BOOL GradientFill(
[in] HDC hdc,
[in] PTRIVERTEX pVertex,
[in] ULONG nVertex,
[in] PVOID pMesh,
[in] ULONG nMesh,
[in] ULONG ulMode
);
參數
[in] hdc
目的地裝置內容的句柄。
[in] pVertex
每個都定義頂點 之TEX 結構的陣列指標。
[in] nVertex
pVertex 中的頂點數目。
[in] pMesh
三角形模式 中GRADIENT_TRIANGLE 結構的數位,或矩形模式中 GRADIENT_RECT 結構的數位。
[in] nMesh
pMesh 中的三角形或矩形 (元素數目) 。
[in] ulMode
漸層填滿模式。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
在此模式中,兩個端點會描述矩形。 矩形的定義是讓左邊緣和右邊緣的 TRIVERTEX 結構) 指定的常數色彩 (。 GDI 會插入從左到右邊緣的色彩,並填滿內部。 |
|
在此模式中,兩個端點會描述矩形。 矩形的定義是讓頂端和下邊緣的 TRIVERTEX 結構) 指定的常數色彩 (。 GDI 會插入從上到下邊緣的色彩,並填滿內部。 |
|
在此模式中, TRIVERTEX 結構的陣列會連同描述個別三角形的陣列索引清單一起傳遞至 GDI。 GDI 會在三角形頂點之間執行線性插補,並填滿內部。 繪圖會直接在 24 和 32-bpp 模式中完成。 Dithering 是在 16-、8-、4-和 1-bpp 模式中執行。 |
傳回值
如果函式成功,則傳回值為 TRUE。
如果函式失敗,傳回值為 FALSE。
備註
若要將平滑底紋新增至三角形,請使用三個三角形端點呼叫 GradientFill 函式。 GDI 會以線性方式插補並填滿三角形。 以下是陰影三角形的繪圖輸出。
從若要將平滑底紋新增至矩形,請使用矩形的左上角和右下角座標呼叫 GradientFill。 繪製矩形時,有兩種底紋模式。 在水準模式中,矩形會從左至右著色。 在垂直模式中,矩形會從上到下著色。 以下是兩個陰影矩形的繪圖輸出- 一個處於水準模式,另一個則以垂直模式顯示: 陰影到右邊的淺色 圖例,該矩形會從的淺色。GradientFill 函式會使用網格方法來指定要繪製之物件的端點。 所有頂點都會傳遞至 pVertex 陣列中的 GradientFill。 pMesh 參數會指定這些頂點如何連接以形成物件。 填滿矩形時, pMesh 會指向 GRADIENT_RECT 結構的陣列。 每個 GRADIENT_RECT 結構都會指定 pVertex 陣列中兩個頂點的索引。 這兩個頂點形成一個矩形的左上角和右下邊界。在填滿三角形的情況下, pMesh 會指向 GRADIENT_TRIANGLE 結構的陣列。 每個 GRADIENT_TRIANGLE 結構都會指定 pVertex 陣列中三個頂點的索引。 這三個頂點形成一個三角形。
為了簡化硬體加速,此例程不需要在三角形內部成為圖元完美。
請注意,GradientFill 不會使用 TRIVERTEX 結構的 Alpha 成員。 若要搭配透明度使用 GradientFill,請呼叫 GradientFill,然後使用每個頂點 Alpha 色板所需的值呼叫 AlphaBlend 。
如需詳細資訊,請參閱 平滑底紋、 繪製陰影三角形,以及 繪製陰影矩形。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Msimg32.lib |
Dll | Msimg32.dll |