Функция SetWorldTransform (wingdi.h)
Функция SetWorldTransform задает двумерное линейное преобразование между мировым пространством и пространством страницы для указанного контекста устройства. Это преобразование можно использовать для масштабирования, поворота, сдвига или преобразования выходных данных графики.
Синтаксис
BOOL SetWorldTransform(
[in] HDC hdc,
[in] const XFORM *lpxf
);
Параметры
[in] hdc
Дескриптор контекста устройства.
[in] lpxf
Указатель на структуру XFORM , содержащую данные преобразования.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Ниже приведена матрица преобразования (обратите внимание, что цифры в нотации элементов представляют собой номер столбца, за которым следует 1 номер строки, а не обратный).
| eM11 eM21 eDx |
| eM12 eM22 eDy |
| 0 0 1 |
Таким образом, для любых координат (x, y) в мировом пространстве преобразованные координаты в пространстве страницы (x', y') можно определить, как показано ниже.
| x' | | eM11 eM21 eDx | | x |
| y' | = | eM12 eM22 eDy | . | y |
| 1 | | 0 0 1 | | 1 |
x' = x * eM11 + y * eM21 + eDx
y' = x * eM12 + y * eM22 + eDy
Эта функция использует логические единицы.
Преобразование мира обычно используется для масштабирования или поворота логических изображений независимым от устройства способом.
Преобразование мира по умолчанию — это матрица идентификации со смещением нуля.
Функция SetWorldTransform завершится ошибкой , если для графического режима для заданного контекста устройства не было задано значение GM_ADVANCED путем вызова функции SetGraphicsMode . Аналогичным образом невозможно сбросить графический режим для контекста устройства в режим GM_COMPATIBLE по умолчанию, если только преобразование мира не было сначала сброшено до преобразования идентификатора по умолчанию путем вызова SetWorldTransform или ModifyWorldTransform.
Примеры
Пример см. в разделе Использование координатных пространств и преобразований.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |
См. также раздел
Функции координатного пространства и преобразования
Общие сведения о координатных пространствах и преобразованиях