LinearGradientBrush::SetBlendBellShape メソッド (gdiplusbrush.h)

LinearGradientBrush::SetBlendBellShape メソッドは、この線形グラデーション ブラシのブレンドシェイプを設定して、ベル状の曲線に基づいてカスタム ブレンドを作成します。

構文

Status SetBlendBellShape(
  [in] REAL focus,
  [in] REAL scale
);

パラメーター

[in] focus

種類: REAL

終了色の位置を示す実数。 この数値は境界線間の距離に対する割合であり、0.0 ~ 1.0 の範囲である必要があります。

[in] scale

種類: REAL

省略可能。 グラデーションの開始色を使用して、フォーカス位置でブレンドされるグラデーションの終了色の割合を指定する実数。 この数値は、0.0 ~ 1.0 の範囲である必要があります。 既定値は 1.0 で、終了色が完全な強度であることを指定します。

戻り値

種類: 状態

メソッドが成功した場合は、 Status 列挙体の要素である Ok を返します。

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

解説

既定では、開始境界から終了境界に移動すると、色は開始色 (線形グラデーション ブラシの開始境界の色) から終了色 (線形グラデーション ブラシの終了境界の色) に徐々に変化します。 LinearGradientBrush::SetBlendBellShape メソッドを使用して、開始色と終了色の配置とブレンドをカスタマイズできます。

LinearGradientBrush::SetBlendBellShape メソッドは、グラデーションの境界にあるベルベースの極値を持つベル形の曲線に従ってブレンドをカスタマイズします。 既定のブレンドでは、開始色は線形グラデーション ブラシの開始境界にあり、ベル型ブレンドを適用すると、線形グラデーション ブラシの開始境界と終了境界に表示されます。 終了色の位置は、既定のブレンドでは終了境界にあり、境界の間のどこかにあり、フォーカスの値によって決定されます。 つまり、フォーカスはベルのピークの位置を指定します。 たとえば、フォーカス値が 0.7 の場合、開始境界と終了境界の間の距離の 70% にピークが設定されます。 このピーク時に終了色が表示されます。

ベル型ブレンドの終了色は、グラデーションの既定のブレンド開始色と既定のブレンド終了色の間の色域の割合です。 たとえば、線形グラデーション ブラシが開始色として赤で構成され、青が終了色として構築されるとします。 LinearGradientBrush::SetBlendBellShape がスケール値 0.8 で呼び出された場合、ベルシェイプ ブレンドの終了色は、赤と青の間の 80% (20% 赤、80% 青) の色相になります。 スケール値が 1.0 の場合、終了色は 100% 青になります。

次の例では、線形グラデーション ブラシを作成し、ベル型のブレンドを設定し、ブラシを使用して四角形を塗りつぶします。 さらに 2 回、コードは異なる値を持つベル型のブレンドを設定し、毎回ブラシを使用して四角形を塗りつぶします。

VOID Example_SetBlendBell(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush(
      Point(0, 0),
      Point(500, 0),
      Color(255, 255, 0, 0),   // red
      Color(255, 0, 0, 255));  // blue

   linGrBrush.SetBlendBellShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

   linGrBrush.SetBlendBellShape(0.5f, 0.8f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 500, 50);

   linGrBrush.SetBlendBellShape(0.5f, 1.0f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 150, 500, 50);
}

要件

   
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー gdiplusbrush.h (Gdiplus.h を含む)
Library Gdiplus.lib
[DLL] Gdiplus.dll

関連項目

ブラシと図形の塗りつぶし

線形グラデーションの作成

色のグラデーションで図形を塗りつぶす

LinearGradientBrush

LinearGradientBrush::GetBlend

LinearGradientBrush::SetBlend

LinearGradientBrush::SetBlendTriangularShape

ブラシを使用した図形の塗りつぶし