LinearGradientBrush.ScaleTransform 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.
Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt der Transformation die Skalierungsmatrix voran.
Überlädt
| ScaleTransform(Single, Single) |
Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt der Transformation die Skalierungsmatrix voran. |
| ScaleTransform(Single, Single, MatrixOrder) |
Skaliert die lokale geometrische Transformation um die angegebenen Beträge in der angegebenen Reihenfolge. |
ScaleTransform(Single, Single)
Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt der Transformation die Skalierungsmatrix voran.
public:
void ScaleTransform(float sx, float sy);
public void ScaleTransform (float sx, float sy);
member this.ScaleTransform : single * single -> unit
Public Sub ScaleTransform (sx As Single, sy As Single)
Parameter
- sx
- Single
Der Betrag, um den die Transformation in Richtung der x-Achse skaliert werden soll.
- sy
- Single
Der Betrag, um den die Transformation in Richtung der y-Achse skaliert werden soll.
Beispiele
Ein Beispiel finden Sie unter ScaleTransform.
Gilt für:
ScaleTransform(Single, Single, MatrixOrder)
Skaliert die lokale geometrische Transformation um die angegebenen Beträge in der angegebenen Reihenfolge.
public:
void ScaleTransform(float sx, float sy, System::Drawing::Drawing2D::MatrixOrder order);
public void ScaleTransform (float sx, float sy, System.Drawing.Drawing2D.MatrixOrder order);
member this.ScaleTransform : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub ScaleTransform (sx As Single, sy As Single, order As MatrixOrder)
Parameter
- sx
- Single
Der Betrag, um den die Transformation in Richtung der x-Achse skaliert werden soll.
- sy
- Single
Der Betrag, um den die Transformation in Richtung der y-Achse skaliert werden soll.
- order
- MatrixOrder
Eine MatrixOrder, die angibt, ob die Skalierungsmatrix vorangestellt oder angefügt werden soll.
Beispiele
Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgs eein OnPaint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:
Erstellt einen neuen LinearGradientBrush.
Zeichnen Sie eine Auslassungspunkte auf dem Bildschirm mithilfe dieses Pinsels.
Skaliert den LinearGradientBrush Faktor zwei in der x-Achse.
Zeichnet mit dem skalierten Pinsel eine Auslassungspunkte direkt unterhalb der ersten Auslassungspunkte auf den Bildschirm.
Beachten Sie, dass der Farbverlauf der unteren Auslassungspunkte um einen Faktor von zwei gestreckt wird. Beachten Sie auch, dass ein Aufruf der TranslateTransform Methode verwendet wird, um den linken Rand der Farbverlaufsfüllung mit dem linken Rand der Auslassungspunkte zu rechtfertigen.
private:
void ScaleTransformExample( PaintEventArgs^ e )
{
// Create a LinearGradientBrush.
Rectangle myRect = Rectangle(20,20,200,100);
LinearGradientBrush^ myLGBrush = gcnew LinearGradientBrush( myRect,Color::Blue,Color::Red,0.0f,true );
// Draw an ellipse to the screen using the LinearGradientBrush.
e->Graphics->FillEllipse( myLGBrush, myRect );
// Scale the LinearGradientBrush.
myLGBrush->ScaleTransform( 2.0f, 1.0f, MatrixOrder::Prepend );
// Rejustify the brush to start at the left edge of the ellipse.
myLGBrush->TranslateTransform( -20.0f, 0.0f );
// Draw a second ellipse to the screen using
// the transformed brush.
e->Graphics->FillEllipse( myLGBrush, 20, 150, 200, 100 );
}
private void ScaleTransformExample(PaintEventArgs e)
{
// Create a LinearGradientBrush.
Rectangle myRect = new Rectangle(20, 20, 200, 100);
LinearGradientBrush myLGBrush = new LinearGradientBrush(
myRect, Color.Blue, Color.Red, 0.0f, true);
// Draw an ellipse to the screen using the LinearGradientBrush.
e.Graphics.FillEllipse(myLGBrush, myRect);
// Scale the LinearGradientBrush.
myLGBrush.ScaleTransform(2.0f, 1.0f, MatrixOrder.Prepend);
// Rejustify the brush to start at the left edge of the ellipse.
myLGBrush.TranslateTransform(-20.0f, 0.0f);
// Draw a second ellipse to the screen using
// the transformed brush.
e.Graphics.FillEllipse(myLGBrush, 20, 150, 200, 100);
}
Public Sub ScaleTransformExample(ByVal e As PaintEventArgs)
' Create a LinearGradientBrush.
Dim myRect As New Rectangle(20, 20, 200, 100)
Dim myLGBrush As New LinearGradientBrush(myRect, Color.Blue, _
Color.Red, 0.0F, True)
' Draw an ellipse to the screen using the LinearGradientBrush.
e.Graphics.FillEllipse(myLGBrush, myRect)
' Scale the LinearGradientBrush.
myLGBrush.ScaleTransform(2.0F, 1.0F, MatrixOrder.Prepend)
' Rejustify the brush to start at the left edge of the ellipse.
myLGBrush.TranslateTransform(-20.0F, 0.0F)
' Draw a second ellipse to the screen using the transformed brush.
e.Graphics.FillEllipse(myLGBrush, 20, 150, 200, 100)
End Sub