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 |