Graphics.ScaleTransform メソッド

定義

指定したスケーリング操作を、オブジェクトの変換マトリックスの前に置いて、この Graphics の変換マトリックスに適用します。

オーバーロード

名前 説明
ScaleTransform(Single, Single)

指定したスケーリング操作を、オブジェクトの変換マトリックスの前に置いて、この Graphics の変換マトリックスに適用します。

ScaleTransform(Single, Single, MatrixOrder)

指定したスケーリング操作を、指定した順序でこの Graphics の変換マトリックスに適用します。

ScaleTransform(Single, Single)

ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs

指定したスケーリング操作を、オブジェクトの変換マトリックスの前に置いて、この Graphics の変換マトリックスに適用します。

public:
 void ScaleTransform(float sx, float sy);
public void ScaleTransform(float sx, float sy);
member this.ScaleTransform : single * single -> unit
Public Sub ScaleTransform (sx As Single, sy As Single)

パラメーター

sx
Single

x 方向の倍率。

sy
Single

y 方向の倍率。

次のコード例は、Windows フォームで使用するように設計されており、PaintEventArgse が必要です。これは、Paint イベント ハンドラーのパラメーターです。 コードは次のアクションを実行します。

  • Windows フォームのワールド変換行列を 30 度回転します。

  • その行列を x 方向に 3、y 方向に 1 の係数でスケーリングします。その場合、スケーリング変換が開始されます。

  • 青いペンを使用して、拡大縮小された回転した四角形を描画します。

結果は引き続き四角形です。

public:
   void ScaleTransformFloat( PaintEventArgs^ e )
   {
      // Set world transform of graphics object to rotate.
      e->Graphics->RotateTransform( 30.0F );

      // Then to scale, prepending to world transform.
      e->Graphics->ScaleTransform( 3.0F, 1.0F );

      // Draw scaled, rotated rectangle to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,3.0f ), 50, 0, 100, 40 );
   }
private void ScaleTransformFloat(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to scale, prepending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F);

    // Draw scaled, rotated rectangle to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}
Private Sub ScaleTransformFloat(ByVal e As PaintEventArgs)

    ' Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F)

    ' Then to scale, prepending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F)

    ' Draw scaled, rotated rectangle to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Blue, 3), 50, 0, 100, 40)
End Sub

注釈

スケーリング操作は、変換行列と、要素が (sxsy、1) である対角行列を乗算して構成されます。 このメソッドは、スケーリング マトリックスによって Graphics の変換行列の前に付加されます。

適用対象

ScaleTransform(Single, Single, MatrixOrder)

ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs

指定したスケーリング操作を、指定した順序でこの Graphics の変換マトリックスに適用します。

public:
 void ScaleTransform(float sx, float sy, System::Drawing::Drawing2D::MatrixOrder order);
public void ScaleTransform(float sx, float sy, System.Drawing.Drawing2D.MatrixOrder order);
member this.ScaleTransform : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub ScaleTransform (sx As Single, sy As Single, order As MatrixOrder)

パラメーター

sx
Single

x 方向の倍率。

sy
Single

y 方向の倍率。

order
MatrixOrder

スケーリング操作の前に追加するか、変換マトリックスに追加するかを指定する MatrixOrder 列挙体のメンバー。

次のコード例は、Windows フォームで使用するように設計されており、PaintEventArgse が必要です。これは、Paint イベント ハンドラーのパラメーターです。 コードは次のアクションを実行します。

  • Windows フォームのワールド変換行列を 30 度回転します。

  • スケーリング変換を Append メンバーに追加することで、その行列を x 方向に 3、y 方向に 1 の係数でスケーリングします。

  • 青いペンを使用して、回転した拡大縮小された四角形を描画します。

結果は並列四辺形になります。

public:
   void ScaleTransformFloatMatrixOrder( PaintEventArgs^ e )
   {
      // Set world transform of graphics object to rotate.
      e->Graphics->RotateTransform( 30.0F );

      // Then to scale, appending to world transform.
      e->Graphics->ScaleTransform( 3.0F, 1.0F, MatrixOrder::Append );

      // Draw rotated, scaled rectangle to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,3.0f ), 50, 0, 100, 40 );
   }
private void ScaleTransformFloatMatrixOrder(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to scale, appending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append);

    // Draw rotated, scaled rectangle to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}
Private Sub ScaleTransformFloatMatrixOrder(ByVal e As PaintEventArgs)

    ' Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F)

    ' Then to scale, appending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append)

    ' Draw rotated, scaled rectangle to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Blue, 3), 50, 0, 100, 40)
End Sub

注釈

スケーリング操作は、変換行列と、要素が (sxsy、1) である対角行列を乗算して構成されます。 このメソッドは、Graphics パラメーターに従って、スケーリング マトリックスによってorderの変換マトリックスの前に追加します。

適用対象