Graphics.MultiplyTransform Method (Matrix)

 

Multiplies the world transformation of this Graphics and specified the Matrix.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void MultiplyTransform(
	Matrix matrix
)

Parameters

matrix
Type: System.Drawing.Drawing2D.Matrix

4x4 Matrix that multiplies the world transformation.

This method prepends the matrix specified by the matrix parameter, so that the result is matrix x world transformation.

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:

  • Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • Translates the transform matrix by a vector (200, 100).

  • Rotates the world transformation matrix of the Windows Form by 30 degrees, prepends the rotation matrix for 30 degrees to the form's transformation matrix.

  • Multiplies the rotated world transformation matrix by the translated transformMatrix, and prepends the transformMatrix to the world transformation matrix.

  • Draws a rotated, translated ellipse.

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);
}

.NET Framework
Available since 1.1
Return to top
Show: