Graphics.ScaleTransform Graphics.ScaleTransform Graphics.ScaleTransform Graphics.ScaleTransform Method

定義

この Graphics の変換行列の前に指定したスケーリング操作を付加することによって、この変換行列にスケーリング操作を適用します。Applies the specified scaling operation to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.

オーバーロード

ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single)

この Graphics の変換行列の前に指定したスケーリング操作を付加することによって、この変換行列にスケーリング操作を適用します。Applies the specified scaling operation to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.

ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder)

この Graphics の変換行列に、指定したスケーリング操作を指定した順序で適用します。Applies the specified scaling operation to the transformation matrix of this Graphics in the specified order.

ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single)

この Graphics の変換行列の前に指定したスケーリング操作を付加することによって、この変換行列にスケーリング操作を適用します。Applies the specified scaling operation to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.

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 Single Single Single

x 方向のスケール ファクター。Scale factor in the x direction.

sy
Single Single Single Single

y 方向のスケール ファクター。Scale factor in the y direction.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • Windows フォームのワールド変換行列を 30 度回転します。Rotates the world transformation matrix of the Windows Form by 30 degrees.

  • X 方向の 3 倍および y 方向の 1 の要因によって、スケール変換を付けることによってそのマトリックスをスケーリングします。Scales that matrix by a factor of 3 in the x direction and a factor of 1 in the y direction by prepending the scaling transformation.

  • 青のペン、スケール、回転した四角形を描画します。Draws a scaled, rotated rectangle with a blue pen.

結果が四角形です。The result is still a rectangle.

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)。The scaling operation consists of multiplying the transformation matrix by a diagonal matrix whose elements are (sx, sy, 1). このメソッドの変換行列の前、Graphicsによって拡大縮小行列。This method prepends the transformation matrix of the Graphics by the scaling matrix.

ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder)

この Graphics の変換行列に、指定したスケーリング操作を指定した順序で適用します。Applies the specified scaling operation to the transformation matrix of this Graphics in the specified order.

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 Single Single Single

x 方向のスケール ファクター。Scale factor in the x direction.

sy
Single Single Single Single

y 方向のスケール ファクター。Scale factor in the y direction.

order
MatrixOrder MatrixOrder MatrixOrder MatrixOrder

スケーリング操作が変換行列の前に付加されるか後ろに追加されるかを指定する MatrixOrder 列挙体のメンバー。Member of the MatrixOrder enumeration that specifies whether the scaling operation is prepended or appended to the transformation matrix.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • Windows フォームのワールド変換行列を 30 度回転します。Rotates the world transformation matrix of the Windows Form by 30 degrees.

  • 追加で変換をスケーリングすることによって、ファクター 3 の x 方向および y 方向の 1 の要因でそのマトリックスを拡大または縮小、Appendメンバー。Scales that matrix by a factor of 3 in the x direction and a factor of 1 in the y direction by appending the scaling transformation with the Append member.

  • 青のペン、回転、拡大/縮小された四角形を描画します。Draws a rotated, scaled rectangle with a blue pen.

指定した平行四辺形になります。The result is a parallelogram.

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)。The scaling operation consists of multiplying the transformation matrix by a diagonal matrix whose elements are (sx, sy, 1). このメソッドは前に付加または追加の変換行列、Graphicsに従って拡大縮小行列を使用して、orderパラメーター。This method prepends or appends the transformation matrix of the Graphics by the scaling matrix according to the order parameter.

適用対象