共用方式為


EngGradientFill 函式 (winddi.h)

EngGradientFill函式會著色指定的基本類型。

語法

ENGAPI BOOL EngGradientFill(
       SURFOBJ   *psoDest,
       CLIPOBJ   *pco,
       XLATEOBJ  *pxlo,
       TRIVERTEX *pVertex,
       ULONG     nVertex,
       PVOID     pMesh,
       ULONG     nMesh,
       RECTL     *prclExtents,
       POINTL    *pptlDitherOrg,
  [in] ULONG     ulMode
);

參數

psoDest

SURFOBJ結構的指標,可識別要繪製的介面。

pco

CLIPOBJ結構的指標。 系統會提供 CLIPOBJ_Xxx 服務常式,將 剪輯區域 列舉為一組矩形。 此列舉會限制已修改之目的地的區域。 可能的話,GDI 會簡化相關的裁剪。

pxlo

XLATEOBJ結構的指標。 此結構指出應該如何在 32 bpp RGB 格式與目的地之間轉譯色彩索引。 驅動程式負責將輸入COLOR16色彩值轉換為 RGB。

pVertex

TRIVERTEX 結構的陣列指標,每個專案都包含位置和色彩資訊。 TRIVERTEX 結構會在Microsoft Windows SDK檔中說明。

nVertex

指定 pVertex 指向之陣列中的 TRIVERTEX 結構數目。

pMesh

結構的陣列指標,定義 pVertex 所指向之 TRIVERTEX 元素的連線能力。

繪製矩形時, pMesh 會指向GRADIENT_RECT 結構的陣列,每個都會指定兩個定義矩形的 TRIVERTEX 元素。 TRIVERTEX 元素可以代表任何對角相反的矩形頂點配對。 矩形繪圖的右下角是獨佔的。 TRIVERTEX 和GRADIENT_RECT都是在 Windows SDK 檔中定義。

繪製三角形時, pMesh 會指向GRADIENT_TRIANGLE 結構的陣列,其中每一個都會指定定義三角形的三個 TRIVERTEX 元素。 三角形繪圖是右下角的獨佔。 GRADIENT_TRIANGLE結構定義于 Windows SDK 檔中。

nMesh

指定 pMesh 指向之陣列中的專案數目。

prclExtents

RECTL結構的指標,定義要在其中發生漸層繪圖的區域。 這些點是在目的地介面的座標系統中指定。 此參數在估計繪圖作業的大小時很有用。

pptlDitherOrg

POINTL結構的指標,該結構會定義表面的原點以進行 dithering。 任一圖樣左上角的圖元會與這個點對齊。

[in] ulMode

指定目前的繪圖模式,以及如何解譯 pMesh 指向的陣列。 此參數可以是下列其中一個值:

GRADIENT_FILL_RECT_H

pMesh參數指向GRADIENT_RECT 結構的陣列。 每個矩形都是由左至右著色。

GRADIENT_FILL_RECT_V

pMesh參數指向GRADIENT_RECT 結構的陣列。 每個矩形都是從上到下著色。

GRADIENT_FILL_TRIANGLE

pMesh參數會指向GRADIENT_TRIANGLE結構的陣列。

傳回值

EngGradientFill 會在成功時傳回 TRUE 。 否則,它會報告錯誤並傳回 FALSE

備註

如果驅動程式已連結DrvGradientFill,且呼叫它來執行不支援的內容,驅動程式應該呼叫EngGradientFill

用來計算每個圖元色彩值的公式取決於 ulMode 的值,如下所示:

GDI 會忽略頂點的 Alpha 值,讓支援 Alpha 的介面維持 Alpha 色板不變。

規格需求

   
最低支援的用戶端 適用于 Windows 2000 和更新版本的 Windows 作業系統。
目標平台 Universal
標頭 winddi.h (包含 Winddi.h)
程式庫 Win32k.lib
Dll Win32k.sys

另請參閱

DrvGradientFill