Graphics.MultiplyTransform Yöntem

Tanım

Bunun Graphics dünya dönüşümünün çarpımını oluşturur ve değerini belirter Matrix.

Aşırı Yüklemeler

Name Description
MultiplyTransform(Matrix, MatrixOrder)

Bunun Graphics dünya dönüşümünün çarpılması ve belirtilen sırada belirtilmesi Matrix .

MultiplyTransform(Matrix)

Bunun Graphics dünya dönüşümünün çarpımını oluşturur ve değerini belirter Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs

Bunun Graphics dünya dönüşümünün çarpılması ve belirtilen sırada belirtilmesi Matrix .

public:
 void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Drawing2D::MatrixOrder order);
public void MultiplyTransform(System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.MatrixOrder order);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub MultiplyTransform (matrix As Matrix, order As MatrixOrder)

Parametreler

matrix
Matrix

4x4 Matrix dünya dönüşüm çarpar.

order
MatrixOrder

Çarpma sırasını MatrixOrder belirleyen numaralandırmanın üyesi.

Örnekler

Aşağıdaki kod örneği Windows Forms ile kullanılmak üzere tasarlanmıştır ve PaintEventArgs olay işleyicisinin bir parametresi olan ePaint gerektirir. Kod aşağıdaki eylemleri gerçekleştirir:

  • Bir transformMatrix matris (ikiye iki kimlik matrisi ve sıfır çeviri vektörleri) oluşturur.

  • Dönüştürme matrisini bir vektöre (200, 100) çevirir.

  • Windows Formunun dünya dönüştürme matrisini 30 derece döndürerek döndürme matrisini formun dönüşüm matrisine 30 derece önceler.

  • Döndürülen dünya dönüştürme matrisini çevrilmiş transformMatrixile çarpar ve transformMatrix dünya dönüştürme matrisine ekler.

  • Döndürülmüş, çevrilmiş üç nokta çizer.

public:
   void MultiplyTransformMatrixOrder( PaintEventArgs^ e )
   {
      // Create transform matrix.
      Matrix^ transformMatrix = gcnew Matrix;

      // Translate matrix, prepending translation vector.
      transformMatrix->Translate( 200.0F, 100.0F );

      // Rotate transformation matrix of graphics object,
      // prepending rotation matrix.
      e->Graphics->RotateTransform( 30.0F );

      // Multiply (append to) transformation matrix of
      // graphics object to translate graphics transformation.
      e->Graphics->MultiplyTransform( transformMatrix, MatrixOrder::Append );

      // Draw rotated, translated ellipse.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), -80, -40, 160, 80 );
   }
private void MultiplyTransformMatrixOrder(PaintEventArgs e)
{

    // Create transform matrix.
    Matrix transformMatrix = new Matrix();

    // Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F);

    // Rotate transformation matrix of graphics object,

    // prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F);

    // Multiply (append to) transformation matrix of

    // graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix, MatrixOrder.Append);

    // Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), -80, -40, 160, 80);
}
Private Sub MultiplyTransformMatrixOrder(ByVal e As PaintEventArgs)

    ' Create transform matrix.
    Dim transformMatrix As New Matrix

    ' Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F)

    ' Rotate transformation matrix of graphics object,

    ' prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F)

    ' Multiply (append to) transformation matrix of

    ' graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix, MatrixOrder.Append)

    ' Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), -80, -40, 160, 80)
End Sub

Açıklamalar

parametresinin Prepend değeriorder, çarpma sırasının x dünya dönüşümü olduğunu matrix belirtir. Append değeri, order çarpma sırasının dünya dönüşümü x matrixolduğunu belirtir.

Ayrıca bkz.

Şunlara uygulanır

MultiplyTransform(Matrix)

Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs

Bunun Graphics dünya dönüşümünün çarpımını oluşturur ve değerini belirter Matrix.

public:
 void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix);
public void MultiplyTransform(System.Drawing.Drawing2D.Matrix matrix);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix -> unit
Public Sub MultiplyTransform (matrix As Matrix)

Parametreler

matrix
Matrix

4x4 Matrix dünya dönüşüm çarpar.

Örnekler

Aşağıdaki kod örneği Windows Forms ile kullanılmak üzere tasarlanmıştır ve PaintEventArgs olay işleyicisinin bir parametresi olan ePaint gerektirir. Kod aşağıdaki eylemleri gerçekleştirir:

  • Bir transformMatrix matris (ikiye iki kimlik matrisi ve sıfır çeviri vektörleri) oluşturur.

  • Dönüştürme matrisini bir vektöre (200, 100) çevirir.

  • Windows Formunun dünya dönüştürme matrisini 30 derece döndürür, döndürme matrisini formun dönüşüm matrisine 30 derece ekler.

  • Döndürülen dünya dönüşüm matrisini çevrilmiş transformMatrixile çarpar ve öğesini dünya dönüştürme matrisine ekler transformMatrix .

  • Döndürülmüş, çevrilmiş üç nokta çizer.

public:
   void MultiplyTransformMatrix( PaintEventArgs^ e )
   {
      // Create transform matrix.
      Matrix^ transformMatrix = gcnew Matrix;

      // Translate matrix, prepending translation vector.
      transformMatrix->Translate( 200.0F, 100.0F );

      // Rotate transformation matrix of graphics object,
      // prepending rotation matrix.
      e->Graphics->RotateTransform( 30.0F );

      // Multiply (prepend to) transformation matrix of
      // graphics object to translate graphics transformation.
      e->Graphics->MultiplyTransform( transformMatrix );

      // Draw rotated, translated ellipse.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), -80, -40, 160, 80 );
   }
private void MultiplyTransformMatrix(PaintEventArgs e)
{

    // Create transform matrix.
    Matrix transformMatrix = new Matrix();

    // Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F);

    // Rotate transformation matrix of graphics object,

    // prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F);

    // Multiply (prepend to) transformation matrix of

    // graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix);

    // Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), -80, -40, 160, 80);
}
Private Sub MultiplyTransformMatrix(ByVal e As PaintEventArgs)

    ' Create transform matrix.
    Dim transformMatrix As New Matrix

    ' Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F)

    ' Rotate transformation matrix of graphics object,

    ' prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F)

    ' Multiply (prepend to) transformation matrix of

    ' graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix)

    ' Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), -80, -40, 160, 80)
End Sub

Açıklamalar

Bu yöntem parametresi tarafından matrix belirtilen matrisin başına ekler, böylece sonuç x dünya dönüşümü olur matrix .

Ayrıca bkz.

Şunlara uygulanır