Matrix.Scale 메서드

정의

배율 벡터를 앞에 추가하여 지정된 배율 벡터를 이 Matrix에 적용합니다.

오버로드

Scale(Single, Single)

배율 벡터를 앞에 추가하여 지정된 배율 벡터를 이 Matrix에 적용합니다.

Scale(Single, Single, MatrixOrder)

지정된 순서대로 지정된 배율 벡터(scaleXscaleY)를 이 Matrix에 적용합니다.

Scale(Single, Single)

Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs

배율 벡터를 앞에 추가하여 지정된 배율 벡터를 이 Matrix에 적용합니다.

public:
 void Scale(float scaleX, float scaleY);
public void Scale (float scaleX, float scaleY);
member this.Scale : single * single -> unit
Public Sub Scale (scaleX As Single, scaleY As Single)

매개 변수

scaleX
Single

X축 방향으로 이 Matrix의 배율을 조정할 값입니다.

scaleY
Single

Y축 방향으로 이 Matrix의 배율을 조정할 값입니다.

예제

예제를 보려면 Scale(Single, Single, MatrixOrder)를 참조하세요.

적용 대상

Scale(Single, Single, MatrixOrder)

Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs

지정된 순서대로 지정된 배율 벡터(scaleXscaleY)를 이 Matrix에 적용합니다.

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

매개 변수

scaleX
Single

X축 방향으로 이 Matrix의 배율을 조정할 값입니다.

scaleY
Single

Y축 방향으로 이 Matrix의 배율을 조정할 값입니다.

order
MatrixOrder

MatrixOrder에 배율 벡터가 적용되는 순서(뒤나 앞에 추가)를 지정하는 Matrix입니다.

예제

다음 코드 예제는 Windows Forms 사용하도록 설계되었으며 이벤트 개체인 이 Paint 필요합니다PaintEventArgse. 코드는 다음 작업을 수행합니다.

  • 크기 조정 변환(파란색 사각형)을 적용하기 전에 화면에 사각형을 그립니다.

  • 행렬을 만들고 x축에서 3, y축에서 2로 크기를 조정합니다.

  • 이 행렬 변환을 사각형에 적용합니다.

  • 변환된 사각형을 화면(빨간색 사각형)에 그립니다.

빨간색 사각형은 x축에서 3배, 직사각형의 왼쪽 위 모서리(사각형의 시작점)를 포함하여 y축에서 2씩 크기가 조정되었습니다.

public:
   void ScaleExample( PaintEventArgs^ e )
   {
      Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
      Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );

      // Draw the rectangle to the screen before applying the
      // transform.
      e->Graphics->DrawRectangle( myPen, 50, 50, 100, 100 );

      // Create a matrix and scale it.
      Matrix^ myMatrix = gcnew Matrix;
      myMatrix->Scale( 3, 2, MatrixOrder::Append );

      // Draw the rectangle to the screen again after applying the
      // transform.
      e->Graphics->Transform = myMatrix;
      e->Graphics->DrawRectangle( myPen2, 50, 50, 100, 100 );
   }
public void ScaleExample(PaintEventArgs e)
{
    Pen myPen = new Pen(Color.Blue, 1);
    Pen myPen2 = new Pen(Color.Red, 1);
             
    // Draw the rectangle to the screen before applying the
    // transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100);
             
    // Create a matrix and scale it.
    Matrix myMatrix = new Matrix();
    myMatrix.Scale(3, 2, MatrixOrder.Append);
             
    // Draw the rectangle to the screen again after applying the
    // transform.
    e.Graphics.Transform = myMatrix;
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100);
}
Public Sub ScaleExample(ByVal e As PaintEventArgs)
    Dim myPen As New Pen(Color.Blue, 1)
    Dim myPen2 As New Pen(Color.Red, 1)

    ' Draw the rectangle to the screen before applying the
    ' transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100)

    ' Create a matrix and scale it.
    Dim myMatrix As New Matrix
    myMatrix.Scale(3, 2, MatrixOrder.Append)

    ' Draw the rectangle to the screen again after applying the
    ' transform.
    e.Graphics.Transform = myMatrix
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100)
End Sub

적용 대상