次の方法で共有


TextureBrush::RotateTransform メソッド (gdiplusbrush.h)

TextureBrush::RotateTransform メソッドは、このテクスチャ ブラシの現在の変換マトリックスを、それ自体と回転行列の積で更新します。

構文

Status RotateTransform(
  [in] REAL        angle,
  [in] MatrixOrder order
);

パラメーター

[in] angle

種類: REAL

回転角度を角度 (度単位) で指定する実数。

[in] order

種類: MatrixOrder

省略可能。 乗算の順序を指定する MatrixOrder 列挙体の要素。 MatrixOrderPrepend は回転行列が左側にあることを指定し、 MatrixOrderAppend は回転行列が右側にあることを指定します。 既定値は MatrixOrderPrepend です

戻り値

種類: 状態

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

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

注釈

1 つの 3×3 行列には、アフィン変換の任意のシーケンスを格納できます。 複数の 3×3 個の行列があり、それぞれがアフィン変換を表す場合、それらの行列の積は、変換のシーケンス全体を表す単一の 3×3 行列です。 その製品によって表される変換は、複合変換と呼ばれます。 たとえば、行列 R が回転を表し、行列 T が平行移動を表すとします。 行列 M が積 RT の場合、行列 M は複合変換を表します。最初に回転し、次に移動します。

行列乗算の順序は重要です。 一般に、マトリックス積 RT はマトリックス積 TRと同じではない。 前の段落で指定した例では、 RT で表される複合変換 (最初の回転、次に平行移動) は、 TR で表される複合変換 (最初の変換、次に回転) と同じではありません。

次の例では、テクスチャ ブラシを作成し、ブラシの変換を設定します。 次に、変換されたブラシを使用して四角形を塗りつぶします。

VOID Example_RotateTransform(HDC hdc)
{
   Graphics graphics(hdc);

   Image image(L"HouseAndTree.Gif");
   TextureBrush textureBrush(&image);
   textureBrush.ScaleTransform(3, 1);                    // first scale
   textureBrush.RotateTransform(30, MatrixOrderAppend);  // then rotate
   graphics.FillRectangle(&textureBrush, 0, 0, 400, 200);
}

要件

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

こちらもご覧ください

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

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

Image

マトリックス

変換の行列表現

MatrixOrder

Texturebrush

TextureBrush::ScaleTransform

TextureBrush::SetTransform

TextureBrush::TranslateTransform

変換