Поделиться через


Метод 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 .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Комментарии

Примечание GDI+ обрабатывает кисти по-разному, если масштаб преобразования мира меньше 100%(1,0f) в направлении x или y. Если масштаб преобразования мира меньше 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 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusgraphics.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Системы координат и преобразования

Графика

Graphics::GetTransform

Graphics::ResetTransform

Graphics::ScaleTransform

Graphics::SetTransform

Graphics::TransformPoints

Матрица

MatrixOrder

Преобразования