Matrix.Translate Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt de opgegeven vertaalvector toegepast Matrix door de vertaalvector vooraf te laten gaan.
Overloads
| Name | Description |
|---|---|
| Translate(Single, Single) |
Hiermee past u de opgegeven vertaalvector ( |
| Translate(Single, Single, MatrixOrder) |
Hiermee wordt de opgegeven vertaalvector Matrix in de opgegeven volgorde toegepast. |
Translate(Single, Single)
Hiermee past u de opgegeven vertaalvector (offsetX en offsetY) toe Matrix door de vertaalvector vooraf te laten gaan.
public:
void Translate(float offsetX, float offsetY);
public void Translate(float offsetX, float offsetY);
member this.Translate : single * single -> unit
Public Sub Translate (offsetX As Single, offsetY As Single)
Parameters
Voorbeelden
Zie Translate(Single, Single, MatrixOrder)voor een voorbeeld.
Van toepassing op
Translate(Single, Single, MatrixOrder)
Hiermee wordt de opgegeven vertaalvector Matrix in de opgegeven volgorde toegepast.
public:
void Translate(float offsetX, float offsetY, System::Drawing::Drawing2D::MatrixOrder order);
public void Translate(float offsetX, float offsetY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Translate : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Translate (offsetX As Single, offsetY As Single, order As MatrixOrder)
Parameters
- order
- MatrixOrder
Een MatrixOrder die de volgorde aangeeft (toevoegen of vooraf gaan) waarin de vertaling hierop wordt toegepast Matrix.
Voorbeelden
Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een Paint-gebeurtenisobject. De code voert de volgende acties uit:
Hiermee tekent u een rechthoek op het scherm voordat u een vertaaltransformatie (de blauwe rechthoek) toepast.
Hiermee maakt u een matrix en vertaalt u deze met 100 in beide assen.
Deze matrixtransformatie toepassen op de rechthoek,
Hiermee tekent u de getransformeerde rechthoek naar het scherm (de rode rechthoek).
U ziet dat het begin van de rode rechthoek 100 punten in beide assen vanaf het begin van de blauwe driehoek bevindt.
public:
void TranslateExample( PaintEventArgs^ e )
{
Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );
// Draw a rectangle to the screen before applying the
// transform.
e->Graphics->DrawRectangle( myPen, 20, 20, 100, 50 );
// Create a matrix and translate it.
Matrix^ myMatrix = gcnew Matrix;
myMatrix->Translate( 100, 100, MatrixOrder::Append );
// Draw the Points to the screen again after applying the
// transform.
e->Graphics->Transform = myMatrix;
e->Graphics->DrawRectangle( myPen2, 20, 20, 100, 50 );
}
public void TranslateExample(PaintEventArgs e)
{
Pen myPen = new Pen(Color.Blue, 1);
Pen myPen2 = new Pen(Color.Red, 1);
// Draw a rectangle to the screen before applying the
// transform.
e.Graphics.DrawRectangle(myPen, 20, 20, 100, 50);
// Create a matrix and translate it.
Matrix myMatrix = new Matrix();
myMatrix.Translate(100, 100, MatrixOrder.Append);
// Draw the Points to the screen again after applying the
// transform.
e.Graphics.Transform = myMatrix;
e.Graphics.DrawRectangle(myPen2, 20, 20, 100, 50);
}
Public Sub TranslateExample(ByVal e As PaintEventArgs)
Dim myPen As New Pen(Color.Blue, 1)
Dim myPen2 As New Pen(Color.Red, 1)
' Draw a rectangle to the screen before applying the
' transform.
e.Graphics.DrawRectangle(myPen, 20, 20, 100, 50)
' Create a matrix and translate it.
Dim myMatrix As New Matrix
myMatrix.Translate(100, 100, MatrixOrder.Append)
' Draw the Points to the screen again after applying the
' transform.
e.Graphics.Transform = myMatrix
e.Graphics.DrawRectangle(myPen2, 20, 20, 100, 50)
End Sub