Graphics.TranslateTransform 方法

定義

將指定的轉譯前面加上這個 Graphics的轉換矩陣,以變更座標系統的原點。

多載

TranslateTransform(Single, Single)

將指定的轉譯前面加上這個 Graphics的轉換矩陣,以變更座標系統的原點。

TranslateTransform(Single, Single, MatrixOrder)

將指定的轉譯套用至這個 Graphics 的轉換矩陣,以指定的順序變更座標系統的原點。

TranslateTransform(Single, Single)

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

將指定的轉譯前面加上這個 Graphics的轉換矩陣,以變更座標系統的原點。

C#
public void TranslateTransform (float dx, float dy);

參數

dx
Single

翻譯的 X 座標。

dy
Single

翻譯的 Y 座標。

範例

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

  • 將 Windows Form 的世界轉換矩陣旋轉 30.0F 度。

  • 藉由呼叫 TranslateTransform來移動圖形物件的原點,在轉換矩陣前面加上轉譯。

  • 使用藍色畫筆繪製翻譯的旋轉橢圓形。

C#
private void TranslateTransformAngle(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to translate, prepending to world transform.
    e.Graphics.TranslateTransform(100.0F, 0.0F);

    // Draw translated, rotated ellipse to screen.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), 0, 0, 200, 80);
}

下圖顯示執行上一個程式代碼範例的輸出。

翻譯和轉換橢圓形

備註

原點通常是繪圖介面的左上角。 轉譯作業包含將轉換矩陣乘以轉譯部分是 dxdy 參數的矩陣。 這個方法會將翻譯矩陣前面加上轉換矩陣,以套用翻譯。

另請參閱

適用於

.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

TranslateTransform(Single, Single, MatrixOrder)

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

將指定的轉譯套用至這個 Graphics 的轉換矩陣,以指定的順序變更座標系統的原點。

C#
public void TranslateTransform (float dx, float dy, System.Drawing.Drawing2D.MatrixOrder order);

參數

dx
Single

翻譯的 X 座標。

dy
Single

翻譯的 Y 座標。

order
MatrixOrder

MatrixOrder 列舉的成員,指定轉譯是在轉換矩陣前面加上還是附加至轉換矩陣。

範例

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

  • 將 Windows Form 的世界轉換矩陣旋轉 30.0F 度。

  • 藉由呼叫 TranslateTransform來移動圖形物件的原點,並將翻譯附加至世界轉換矩陣。

  • 使用藍色畫筆繪製旋轉的翻譯橢圓形。

C#
private void TranslateTransformAngleMatrixOrder(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to translate, appending to world transform.
    e.Graphics.TranslateTransform(100.0F, 0.0F, MatrixOrder.Append);

    // Draw rotated, translated ellipse to screen.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), 0, 0, 200, 80);
}

備註

轉譯作業包含將轉換矩陣乘以轉譯部分是 dxdy 參數的矩陣。 這個方法會根據 order 參數,在轉譯矩陣前面加上或附加 Graphics 的轉換矩陣。

另請參閱

適用於

.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