GraphicsPath.Transform メソッド
GraphicsPath オブジェクトに変換行列を適用します。
Public Sub Transform( _
ByVal matrix As Matrix _)
[C#]
public void Transform(Matrixmatrix);
[C++]
public: void Transform(Matrix* matrix);
[JScript]
public function Transform(
matrix : Matrix);
パラメータ
- matrix
適用する変換を表す Matrix オブジェクト。
解説
変換では、 GraphicsPath オブジェクトをスケーリング、平行移動、回転、または傾斜できます。
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。
- パスを作成し、そのパスに楕円を追加します。
- 画面にパスを描画します。
- パスを x 軸方向の 100 ユニットだけ平行移動する変換行列を作成します。
- 画面に変換されたパスを描画します。
[Visual Basic, C#] 元の楕円は黒で描画され、変換後の楕円は赤で描画されます。
Public Sub TransformExample(e As PaintEventArgs)
' Create a path and add and ellipse.
Dim myPath As New GraphicsPath()
myPath.AddEllipse(0, 0, 100, 200)
' Draw the starting position to screen.
e.Graphics.DrawPath(Pens.Black, myPath)
' Move the ellipse 100 points to the right.
Dim translateMatrix As New Matrix()
translateMatrix.Translate(100, 0)
myPath.Transform(translateMatrix)
' Draw the transformed ellipse to the screen.
e.Graphics.DrawPath(New Pen(Color.Red, 2), myPath)
End Sub
[C#]
private void TransformExample(PaintEventArgs e)
{
// Create a path and add and ellipse.
GraphicsPath myPath = new GraphicsPath();
myPath.AddEllipse(0, 0, 100, 200);
// Draw the starting position to screen.
e.Graphics.DrawPath(Pens.Black, myPath);
// Move the ellipse 100 points to the right.
Matrix translateMatrix = new Matrix();
translateMatrix.Translate(100, 0);
myPath.Transform(translateMatrix);
// Draw the transformed ellipse to the screen.
e.Graphics.DrawPath(new Pen(Color.Red, 2), myPath);
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
GraphicsPath クラス | GraphicsPath メンバ | System.Drawing.Drawing2D 名前空間