Graphics.TransformPoints メソッド
この Graphics オブジェクトの現在のワールド変換とページ変換を使用して、点の配列をある座標空間から別の座標空間に変換します。
オーバーロードの一覧
この Graphics オブジェクトの現在のワールド変換とページ変換を使用して、点の配列をある座標空間から別の座標空間に変換します。
[Visual Basic] Overloads Public Sub TransformPoints(CoordinateSpace, CoordinateSpace, Point())
[C#] public void TransformPoints(CoordinateSpace, CoordinateSpace, Point[]);
[C++] public: void TransformPoints(CoordinateSpace, CoordinateSpace, Point[]);
[JScript] public function TransformPoints(CoordinateSpace, CoordinateSpace, Point[]);
この Graphics オブジェクトの現在のワールド変換とページ変換を使用して、点の配列をある座標空間から別の座標空間に変換します。
[Visual Basic] Overloads Public Sub TransformPoints(CoordinateSpace, CoordinateSpace, PointF())
[C#] public void TransformPoints(CoordinateSpace, CoordinateSpace, PointF[]);
[C++] public: void TransformPoints(CoordinateSpace, CoordinateSpace, PointF[]);
[JScript] public function TransformPoints(CoordinateSpace, CoordinateSpace, PointF[]);
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。このコードは次のアクションを実行します。
- 2 つの点を作成し、その間に青の直線を描画します。
- x 方向に 40、y 方向に 30 平行移動するようにワールド変換を設定します。
- ワールド座標 (CoordinateSpace.World) の点をページ座標 (CoordinateSpace.Page) に変換します。
- ワールド変換を単位行列にリセットし、変換された点の間に赤の直線を描画します。
[Visual Basic, C#] 青の直線と、その下に平行移動した赤の直線が生成されます。
[Visual Basic, C#] メモ ここでは、TransformPoints のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Public Sub TransformPointsPointF(e As PaintEventArgs)
' Create array of two points.
Dim points As PointF() = {New PointF(0F, 0F), New PointF(100F, _
50F)}
' Draw line connecting two untransformed points.
e.Graphics.DrawLine(New Pen(Color.Blue, 3), points(0), points(1))
' Set world transformation of Graphics object to translate.
e.Graphics.TranslateTransform(40F, 30F)
' Transform points in array from world to page coordinates.
e.Graphics.TransformPoints(CoordinateSpace.Page, _
CoordinateSpace.World, points)
' Reset world transformation.
e.Graphics.ResetTransform()
' Draw line that connects transformed points.
e.Graphics.DrawLine(New Pen(Color.Red, 3), points(0), points(1))
End Sub
[C#]
public void TransformPointsPointF(PaintEventArgs e)
{
// Create array of two points.
PointF[] points = {new PointF(0.0F, 0.0F),
new PointF(100.0F, 50.0F)};
// Draw line connecting two untransformed points.
e.Graphics.DrawLine(new Pen(Color.Blue, 3),
points[0],
points[1]);
// Set world transformation of Graphics object to translate.
e.Graphics.TranslateTransform(40.0F, 30.0F);
// Transform points in array from world to page coordinates.
e.Graphics.TransformPoints(CoordinateSpace.Page,
CoordinateSpace.World,
points);
// Reset world transformation.
e.Graphics.ResetTransform();
// Draw line that connects transformed points.
e.Graphics.DrawLine(new Pen(Color.Red, 3),
points[0],
points[1]);
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。