Matrix.Scale Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Weist den angegebenen Skalierungsvektor dieser Matrix zu, wobei der Skalierungsvektor vorangestellt wird.
Überlädt
| Scale(Single, Single) |
Weist den angegebenen Skalierungsvektor dieser Matrix zu, wobei der Skalierungsvektor vorangestellt wird. |
| Scale(Single, Single, MatrixOrder) |
Weist den angegebenen Skalierungsvektor ( |
Scale(Single, Single)
Weist den angegebenen Skalierungsvektor dieser Matrix zu, wobei der Skalierungsvektor vorangestellt wird.
public:
void Scale(float scaleX, float scaleY);
public void Scale (float scaleX, float scaleY);
member this.Scale : single * single -> unit
Public Sub Scale (scaleX As Single, scaleY As Single)
Parameter
Beispiele
Ein Beispiel finden Sie unter Scale(Single, Single, MatrixOrder).
Gilt für:
Scale(Single, Single, MatrixOrder)
Weist den angegebenen Skalierungsvektor (scaleX und scaleY) der Matrix in der angegebenen Reihenfolge zu.
public:
void Scale(float scaleX, float scaleY, System::Drawing::Drawing2D::MatrixOrder order);
public void Scale (float scaleX, float scaleY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Scale : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Scale (scaleX As Single, scaleY As Single, order As MatrixOrder)
Parameter
- order
- MatrixOrder
Eine MatrixOrder, die die Reihenfolge angibt (angefügt oder vorangestellt), in der der Skalierungsvektor der Matrix zugewiesen wird.
Beispiele
Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgs eein Paint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:
Zeichnet ein Rechteck vor dem Anwenden einer Skalierungstransformation (das blaue Rechteck) auf den Bildschirm.
Erstellt eine Matrix und skaliert sie um 3 in der x-Achse und 2 in der y-Achse.
Wendet diese Matrixtransformation auf das Rechteck an.
Zeichnet das transformierte Rechteck auf den Bildschirm (das rote Rechteck).
Beachten Sie, dass das rote Rechteck um einen Faktor von 3 in der x-Achse und um 2 in der y-Achse skaliert wurde, einschließlich der oberen linken Ecke des Rechtecks (der Anfangspunkt des Rechtecks).
public:
void ScaleExample( PaintEventArgs^ e )
{
Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );
// Draw the rectangle to the screen before applying the
// transform.
e->Graphics->DrawRectangle( myPen, 50, 50, 100, 100 );
// Create a matrix and scale it.
Matrix^ myMatrix = gcnew Matrix;
myMatrix->Scale( 3, 2, MatrixOrder::Append );
// Draw the rectangle to the screen again after applying the
// transform.
e->Graphics->Transform = myMatrix;
e->Graphics->DrawRectangle( myPen2, 50, 50, 100, 100 );
}
public void ScaleExample(PaintEventArgs e)
{
Pen myPen = new Pen(Color.Blue, 1);
Pen myPen2 = new Pen(Color.Red, 1);
// Draw the rectangle to the screen before applying the
// transform.
e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100);
// Create a matrix and scale it.
Matrix myMatrix = new Matrix();
myMatrix.Scale(3, 2, MatrixOrder.Append);
// Draw the rectangle to the screen again after applying the
// transform.
e.Graphics.Transform = myMatrix;
e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100);
}
Public Sub ScaleExample(ByVal e As PaintEventArgs)
Dim myPen As New Pen(Color.Blue, 1)
Dim myPen2 As New Pen(Color.Red, 1)
' Draw the rectangle to the screen before applying the
' transform.
e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100)
' Create a matrix and scale it.
Dim myMatrix As New Matrix
myMatrix.Scale(3, 2, MatrixOrder.Append)
' Draw the rectangle to the screen again after applying the
' transform.
e.Graphics.Transform = myMatrix
e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100)
End Sub