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

関連項目

座標空間と変換関数

座標スペースと変換の概要

GetWorldTransform

ModifyWorldTransform

SetGraphicsMode

SetMapMode

SetViewportExtEx

SetViewportOrgEx

SetWindowExtEx

SetWindowOrgEx

Xform