Graphics.MultiplyTransform 方法

定義

將這個 Graphics 的世界轉換相乘,並指定 Matrix

多載

MultiplyTransform(Matrix, MatrixOrder)

將這個 Graphics 的世界轉換相乘,並以指定的順序指定 Matrix

MultiplyTransform(Matrix)

將這個 Graphics 的世界轉換相乘,並指定 Matrix

MultiplyTransform(Matrix, MatrixOrder)

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

將這個 Graphics 的世界轉換相乘,並以指定的順序指定 Matrix

C#
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.MatrixOrder order);

參數

matrix
Matrix

乘以世界轉型的 4x4 Matrix

order
MatrixOrder

決定乘法順序之 MatrixOrder 列舉的成員。

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:

  • 建立 transformMatrix 矩陣(兩個乘以兩個識別矩陣加上零轉譯向量)。

  • 依向量轉譯轉換矩陣 (200, 100)。

  • 將 Windows Form 的世界轉換矩陣旋轉 30 度,在窗體轉換矩陣前面加上 30 度的旋轉矩陣。

  • 將旋轉的世界轉換矩陣乘以轉譯 transformMatrix,並將 transformMatrix 附加至世界轉換矩陣。

  • 繪製旋轉的翻譯橢圓形。

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

備註

order 參數的 Prepend 值會指定乘法的順序 matrix x 世界轉換。 orderAppend 值指定乘法的順序是世界轉換 x matrix

另請參閱

適用於

.NET 9 和其他版本
產品 版本
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

MultiplyTransform(Matrix)

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

將這個 Graphics 的世界轉換相乘,並指定 Matrix

C#
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix);

參數

matrix
Matrix

乘以世界轉型的 4x4 Matrix

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:

  • 建立 transformMatrix 矩陣(兩個乘以兩個識別矩陣加上零轉譯向量)。

  • 依向量轉譯轉換矩陣 (200, 100)。

  • 將 Windows Form 的世界轉換矩陣旋轉 30 度,在窗體的轉換矩陣前面加上 30 度的旋轉矩陣。

  • 將旋轉的世界轉換矩陣乘以轉譯 transformMatrix,並在 transformMatrix 前面加上世界轉換矩陣。

  • 繪製旋轉的翻譯橢圓形。

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

備註

這個方法會在 matrix 參數指定的矩陣前面加上,讓結果 matrix x 世界轉換。

另請參閱

適用於

.NET 9 和其他版本
產品 版本
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9