LinearGradientBrush.ScaleTransform 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 lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden. Met deze methode wordt de schaalmatrix voorafgegaan aan de transformatie.
Overloads
| Name | Description |
|---|---|
| ScaleTransform(Single, Single) |
Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden. Met deze methode wordt de schaalmatrix voorafgegaan aan de transformatie. |
| ScaleTransform(Single, Single, MatrixOrder) |
Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden in de opgegeven volgorde. |
ScaleTransform(Single, Single)
Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden. Met deze methode wordt de schaalmatrix voorafgegaan aan de transformatie.
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)
Parameters
- sx
- Single
De hoeveelheid waarmee de transformatie in de richting van de x-as moet worden geschaald.
- sy
- Single
De hoeveelheid waarmee de transformatie moet worden geschaald in de richting van de y-as.
Voorbeelden
Zie ScaleTransformvoor een voorbeeld.
Van toepassing op
ScaleTransform(Single, Single, MatrixOrder)
Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden in de opgegeven volgorde.
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)
Parameters
- sx
- Single
De hoeveelheid waarmee de transformatie in de richting van de x-as moet worden geschaald.
- sy
- Single
De hoeveelheid waarmee de transformatie moet worden geschaald in de richting van de y-as.
- order
- MatrixOrder
Een MatrixOrder die aangeeft of de schaalmatrix moet worden toegevoegd of voorbereid.
Voorbeelden
Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een OnPaint-gebeurtenisobject. De code voert de volgende acties uit:
Hiermee maakt u een nieuwe LinearGradientBrush.
Teken een beletselteken op het scherm met behulp van deze borstel.
Schaalt de LinearGradientBrush schaal met een factor van twee op de x-as.
Hiermee tekent u een weglatingsteken naar het scherm direct onder het eerste beletselteken, met behulp van de geschaalde borstel.
U ziet dat de kleurovergang van het onderste beletselteken met een factor van twee wordt uitgerekt. U ziet ook dat een aanroep van de TranslateTransform methode wordt gebruikt om de linkerrand van de kleurovergang te rechtvaardigen met de linkerrand van het beletselteken.
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