SetWorldTransform 関数 (wingdi.h)
SetWorldTransform 関数は、指定されたデバイス コンテキストのワールド空間とページ空間の間に 2 次元の線形変換を設定します。 この変換は、グラフィックス出力のスケーリング、回転、せん断、または変換に使用できます。
構文
BOOL SetWorldTransform(
[in] HDC hdc,
[in] const XFORM *lpxf
);
パラメーター
[in] hdc
デバイス コンテキストへのハンドル。
[in] lpxf
変換データを含む XFORM 構造体へのポインター。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。
解説
変換行列を次に示します (要素表記の数字は、逆ではなく、1 から始まる列番号の後に 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
この関数は論理ユニットを使用します。
ワールド変換は、通常、デバイスに依存しない方法で論理イメージをスケーリングまたは回転するために使用されます。
既定のワールド変換は、オフセットがゼロの ID 行列です。
SetWorldTransform 関数は、SetGraphicsMode 関数を以前に呼び出して、特定のデバイス コンテキストのグラフィックス モードがGM_ADVANCEDに設定されていない限り失敗します。 同様に、 SetWorldTransform または ModifyWorldTransform を呼び出してワールド変換が既定の ID 変換に最初にリセットされていない限り、デバイス コンテキストのグラフィックス モードを既定のGM_COMPATIBLE モードにリセットすることはできません。
例
例については、「 座標空間と変換の使用」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |