次の方法で共有


Graphics::TranslateTransform メソッド (gdiplusgraphics.h)

Graphics::TranslateTransform メソッドは、この Graphics オブジェクトのワールド変換マトリックスをそれ自体と翻訳行列の積で更新します。

構文

Status TranslateTransform(
  [in]           REAL        dx,
  [in]           REAL        dy,
  [in, optional] MatrixOrder order
);

パラメーター

[in] dx

種類: REAL

変換の水平方向のコンポーネントを指定する実数。

[in] dy

種類: REAL

変換の垂直コンポーネントを指定する実数。

[in, optional] order

型: MatrixOrder

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

戻り値

種類: 状態

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

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

注釈

メモ GDI+ では、ワールド変換スケールが x 方向または y 方向で 100%(1.0f) 未満の場合、ブラシの処理方法が異なります。 ワールド変換スケールが 100%(1.0f) 未満の場合は、TranslateTransform のオフセットにワールド変換スケールを乗算してください。
 

次の使用例は、 Graphics オブジェクトのワールド変換を回転に設定します。 Graphics::TranslateTransform を呼び出すと、Graphics オブジェクトの既存のワールド変換行列 (回転) に変換行列が乗算されます。 MatrixOrderAppend 引数は、乗算が右側の変換行列で行われることを指定します。 その時点で、 Graphics オブジェクトのワールド変換マトリックスは複合変換を表します。最初に回転し、次に平行移動します。 DrawEllipse の呼び出しでは、回転および翻訳された楕円が描画されます。

VOID Example_TranslateTransform(HDC hdc)
{
   Graphics graphics(hdc);
   Pen pen(Color(255, 0, 0, 255));

   graphics.RotateTransform(30.0f);
   graphics.TranslateTransform(100.0f, 50.0f, MatrixOrderAppend);
   graphics.DrawEllipse(&pen, 0, 0, 200, 80);
}

要件

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

関連項目

座標系と変換

グラフィックス

Graphics::GetTransform

Graphics::ResetTransform

Graphics::ScaleTransform

Graphics::SetTransform

Graphics::TransformPoints

マトリックス

MatrixOrder

変換