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

傳回值

類型: 狀態

如果方法成功,它會傳回Ok,這是 Status 列舉的元素。

如果方法失敗,它會傳回 Status 列舉的其中一個其他元素。

備註

注意 當世界轉換縮放比例小於 100% (1.0f) x 或 y 方向時,GDI+ 會以不同的方式處理筆刷。 如果世界轉換比例小於 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)
程式庫 Gdiplus.lib
Dll Gdiplus.dll

另請參閱

座標系統和轉換

圖形

Graphics::GetTransform

Graphics::ResetTransform

Graphics::ScaleTransform

Graphics::SetTransform

Graphics::TransformPoints

矩陣

MatrixOrder

轉換