次の方法で共有


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

LinearGradientBrush::GetTransform メソッドは、この線形グラデーション ブラシの変換行列を取得します。

構文

Status GetTransform(
  [out] Matrix *matrix
);

パラメーター

[out] matrix

種類: Matrix*

変換行列を受け取る Matrix オブジェクトへのポインター。

戻り値

種類: 状態

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

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

解説

LinearGradientBrush オブジェクトは、任意のアフィン変換を格納できる変換行列を保持します。 線形グラデーション ブラシを使用して領域を塗りつぶすと、GDI+ はブラシの変換マトリックスに従ってブラシの境界線を変換し、領域を塗りつぶします。 変換された境界は、レンダリング中にのみ存在します。 LinearGradientBrush オブジェクトに格納されている境界は変換されません。

次の例では、線形グラデーション ブラシを作成し、その変換行列を設定します。 次に、このコードはブラシの変換行列を取得し、マトリックス要素の検査または使用に進みます。

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

   // Construct a linear gradient brush, and set its transformation.
   LinearGradientBrush linGrBrush( 
      Point(0, 0),
      Point(200, 0),
      Color(255, 255, 0, 0),    // red
      Color(255, 0, 0, 255));   // blue

   Matrix matrixSet(0, 1, -1, 0, 0, 0);

   linGrBrush.SetTransform(&matrixSet);

   // Obtain information about the linear gradient brush.
   Matrix matrixGet;
   REAL   elements[6];

   linGrBrush.GetTransform(&matrixGet);
   matrixGet.GetElements(elements);  

   for(INT j = 0; j <= 5; ++j)
   {
       // Inspect or use the value in elements[j].
   }
}

要件

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

関連項目

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

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

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

LinearGradientBrush

LinearGradientBrush::SetTransform

マトリックス

変換の行列表現

Point

変換