LinearGradientBrush::SetBlend 方法 (gdiplusbrush.h)
LinearGradientBrush::SetBlend方法會設定此線性漸層筆刷的混合因數和混合位置,以建立自訂混合。
語法
Status SetBlend(
[in] const REAL *blendFactors,
[in] const REAL *blendPositions,
[in] INT count
);
參數
[in] blendFactors
類型: const REAL*
指定混合因數之實數陣列的指標。 陣列中的每個數位都會指定結束色彩的百分比,而且應該介於 0.0 到 1.0 的範圍內。
[in] blendPositions
類型: const REAL*
指定混合位置之實數陣列的指標。 陣列中的每個數位都表示開始界限與結束界限之間的距離百分比,而且介於 0.0 到 1.0 之間,其中 0.0 表示漸層的起始界限,而 1.0 表示結束界限。 至少必須指定兩個位置:第一個位置,一律為 0.0f,最後一個位置一律為 1.0f。 否則,行為是未定義的。 介於 0.0 和 1.0 之間的混合位置表示與界限線平行的線條,這是從開始界限到結束界限之間的特定距離分數。 例如,0.7 的混合位置表示距離從開始界限到結束界限的距離 70%。 色彩在與界限線平行的線條上是常數。
[in] count
類型: INT
整數,指定 blendFactors 陣列中的專案數目。 這與 blendPositions 陣列中的元素數目相同。 指定陣列索引的混合因數會對應至相同陣列索引的混合位置。
傳回值
類型: 狀態
如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。
如果方法失敗,它會傳回 Status 列舉的其他其中一個專案。
備註
LinearGradientBrush物件有兩個界限。 當您使用線性漸層筆刷填滿區域時,當您從開始界限移至結束界限時,色彩會逐漸變更。 根據預設,色彩與距離線性相關,但您可以藉由呼叫 LinearGradientBrush::SetBlend 方法來自訂色彩與距離之間的關聯性。
範例
下列範例會建立線性漸層筆刷、設定自訂混合,並使用筆刷填滿矩形。
VOID Example_SetBlend(HDC hdc)
{
Graphics myGraphics(hdc);
REAL factors[4] = {0.0f, 0.4f, 0.6f, 1.0f};
REAL positions[4] = {0.0f, 0.2f, 0.8f, 1.0f};
Rect rect(0, 0, 100, 50);
LinearGradientBrush linGrBrush(
rect,
Color(255, 255, 0, 0), // red
Color(255, 0, 0, 255), // blue
LinearGradientModeHorizontal);
linGrBrush.SetBlend(factors, positions, 4);
myGraphics.FillRectangle(&linGrBrush, rect);
}
需求
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限桌面應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | gdiplusbrush.h (包含 Gdiplus.h) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |
另請參閱
LinearGradientBrush \(英文\)