共用方式為


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

漸層填滿模式。 此參數可以是下列其中一個值。

意義
GRADIENT_FILL_RECT_H
在此模式中,兩個端點會描述矩形。 矩形的定義是讓左邊緣和右邊緣的 TRIVERTEX 結構) 指定的常數色彩 (。 GDI 會插入從左到右邊緣的色彩,並填滿內部。
GRADIENT_FILL_RECT_V
在此模式中,兩個端點會描述矩形。 矩形的定義是讓頂端和下邊緣的 TRIVERTEX 結構) 指定的常數色彩 (。 GDI 會插入從上到下邊緣的色彩,並填滿內部。
GRADIENT_FILL_TRIANGLE
在此模式中, TRIVERTEX 結構的陣列會連同描述個別三角形的陣列索引清單一起傳遞至 GDI。 GDI 會在三角形頂點之間執行線性插補,並填滿內部。 繪圖會直接在 24 和 32-bpp 模式中完成。 Dithering 是在 16-、8-、4-和 1-bpp 模式中執行。

傳回值

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

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

備註

若要將平滑底紋新增至三角形,請使用三個三角形端點呼叫 GradientFill 函式。 GDI 會以線性方式插補並填滿三角形。 以下是陰影三角形的繪圖輸出。

頂端點填滿到底線之紅色的三角形圖例 若要將平滑底紋新增至矩形,請使用矩形的左上角和右下角座標呼叫 GradientFill。 繪製矩形時,有兩種底紋模式。 在水準模式中,矩形會從左至右著色。 在垂直模式中,矩形會從上到下著色。 以下是兩個陰影矩形的繪圖輸出- 一個處於水準模式,另一個則以垂直模式顯示:矩形的圖例,該矩形會從左側陰影到右邊的淺色 圖例,該矩形會從最上層陰影到底部的淺色。GradientFill 函式會使用網格方法來指定要繪製之物件的端點。 所有頂點都會傳遞至 pVertex 陣列中的 GradientFillpMesh 參數會指定這些頂點如何連接以形成物件。 填滿矩形時, 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

另請參閱

點陣圖函式

位圖概觀

EMRGRADIENTFILL

GRADIENT_RECT

GRADIENT_TRIANGLE

TRIVERTEX