ID2D1TransformedGeometry インターフェイス (d2d1.h)
変換されたジオメトリを表します。
継承
ID2D1TransformedGeometry インターフェイスは ID2D1Geometry から継承します。 ID2D1TransformedGeometry には、次の種類のメンバーもあります。
メソッド
ID2D1TransformedGeometry インターフェイスには、これらのメソッドがあります。
ID2D1TransformedGeometry::GetSourceGeometry この変換された geometry オブジェクトのソース ジオメトリを取得します。 |
ID2D1TransformedGeometry::GetTransform ID2D1TransformedGeometry オブジェクトのソース ジオメトリの変換に使用されるマトリックスを取得します。 |
注釈
レンダー ターゲットの変換を使用してジオメトリを変換するのではなく 、ID2D1TransformedGeometry を使用すると、ストロークを変換せずにジオメトリを変換できます。
ID2D1TransformedGeometry オブジェクトの作成
ID2D1TransformedGeometry を作成するには、ID2D1Factory::CreateTransformedGeometry メソッドを呼び出します。Direct2D ジオメトリは、 ID2D1Factory によって作成された不変リソースとデバイスに依存しないリソースです。 一般に、ジオメトリは一度作成し、アプリケーションの有効期間中、または変更が必要になるまで保持する必要があります。 デバイスに依存しないリソースとデバイスに依存するリソースの詳細については、「 リソースの概要」を参照してください。
例
次の例では、 ID2D1RectangleGeometry を作成し、変換せずに描画します。 次の図に示す出力が生成されます。
hr = m_pD2DFactory->CreateRectangleGeometry(
D2D1::RectF(150.f, 150.f, 200.f, 200.f),
&m_pRectangleGeometry
);
次の例では、レンダー ターゲットを使用してジオメトリを 3 倍にスケーリングし、描画します。 次の図は、変換なしで、変換を使用して四角形を描画した結果を示しています。では、ストロークの太さが 1 であっても、変換後にストロークが太くなります。
// Transform the render target, then draw the rectangle geometry again.
m_pRenderTarget->SetTransform(
D2D1::Matrix3x2F::Scale(
D2D1::SizeF(3.f, 3.f),
D2D1::Point2F(175.f, 175.f))
);
m_pRenderTarget->DrawGeometry(m_pRectangleGeometry, m_pBlackBrush, 1);
次の例では、 CreateTransformedGeometry メソッドを使用してジオメトリを 3 倍にスケーリングし、描画します。 次の図に示す出力が生成されます。 四角形は大きくなりますが、ストロークは増加していません。
// Create a geometry that is a scaled version
// of m_pRectangleGeometry.
// The new geometry is scaled by a factory of 3
// from the center of the geometry, (35, 35).
hr = m_pD2DFactory->CreateTransformedGeometry(
m_pRectangleGeometry,
D2D1::Matrix3x2F::Scale(
D2D1::SizeF(3.f, 3.f),
D2D1::Point2F(175.f, 175.f)),
&m_pTransformedGeometry
);
// Replace the previous render target transform.
m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());
// Draw the transformed geometry.
m_pRenderTarget->DrawGeometry(m_pTransformedGeometry, m_pBlackBrush, 1);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d2d1.h |