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)
Library Gdiplus.lib
DLL Gdiplus.dll

另请参阅

坐标系和坐标转换

显卡

Graphics::GetTransform

Graphics::ResetTransform

Graphics::ScaleTransform

Graphics::SetTransform

Graphics::TransformPoints

矩阵

MatrixOrder

转换