Graphics.TranslateTransform 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的轉譯前面加上這個 Graphics的轉換矩陣,以變更座標系統的原點。
多載
TranslateTransform(Single, Single) |
將指定的轉譯前面加上這個 Graphics的轉換矩陣,以變更座標系統的原點。 |
TranslateTransform(Single, Single, MatrixOrder) |
將指定的轉譯套用至這個 Graphics 的轉換矩陣,以指定的順序變更座標系統的原點。 |
TranslateTransform(Single, Single)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
將指定的轉譯前面加上這個 Graphics的轉換矩陣,以變更座標系統的原點。
public:
void TranslateTransform(float dx, float dy);
public void TranslateTransform (float dx, float dy);
member this.TranslateTransform : single * single -> unit
Public Sub TranslateTransform (dx As Single, dy As Single)
參數
- dx
- Single
翻譯的 X 座標。
- dy
- Single
翻譯的 Y 座標。
範例
下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse
,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:
將 Windows Form 的世界轉換矩陣旋轉 30.0F 度。
藉由呼叫 TranslateTransform來移動圖形物件的原點,在轉換矩陣前面加上轉譯。
使用藍色畫筆繪製翻譯的旋轉橢圓形。
public:
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( gcnew Pen( Color::Blue,3.0f ), 0, 0, 200, 80 );
}
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);
}
Private Sub TranslateTransformAngle(ByVal e As PaintEventArgs)
' 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)
End Sub
下圖顯示執行上一個程式代碼範例的輸出。
備註
原點通常是繪圖介面的左上角。 轉譯作業包含將轉換矩陣乘以轉譯部分是 dx
和 dy
參數的矩陣。 這個方法會將翻譯矩陣前面加上轉換矩陣,以套用翻譯。
另請參閱
- 座標系統和轉換
- 在受控 GDI+ 中使用轉換
適用於
TranslateTransform(Single, Single, MatrixOrder)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
將指定的轉譯套用至這個 Graphics 的轉換矩陣,以指定的順序變更座標系統的原點。
public:
void TranslateTransform(float dx, float dy, System::Drawing::Drawing2D::MatrixOrder order);
public void TranslateTransform (float dx, float dy, System.Drawing.Drawing2D.MatrixOrder order);
member this.TranslateTransform : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub TranslateTransform (dx As Single, dy As Single, order As MatrixOrder)
參數
- dx
- Single
翻譯的 X 座標。
- dy
- Single
翻譯的 Y 座標。
- order
- MatrixOrder
MatrixOrder 列舉的成員,指定轉譯是在轉換矩陣前面加上還是附加至轉換矩陣。
範例
下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse
,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:
將 Windows Form 的世界轉換矩陣旋轉 30.0F 度。
藉由呼叫 TranslateTransform來移動圖形物件的原點,並將翻譯附加至世界轉換矩陣。
使用藍色畫筆繪製旋轉的翻譯橢圓形。
public:
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( gcnew Pen( Color::Blue,3.0f ), 0, 0, 200, 80 );
}
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);
}
Private Sub TranslateTransformAngleMatrixOrder(ByVal e As PaintEventArgs)
' 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)
End Sub
備註
轉譯作業包含將轉換矩陣乘以轉譯部分是 dx
和 dy
參數的矩陣。 這個方法會根據 order
參數,在轉譯矩陣前面加上或附加 Graphics 的轉換矩陣。
另請參閱
- 座標系統和轉換
- 在受控 GDI+ 中使用轉換