Sdílet prostřednictvím


PathGradientBrush.ScaleTransform Metoda

Definice

Škáluje místní geometrické transformace podle zadaných částek. Tato metoda předpíná matici škálování na transformaci.

Přetížení

ScaleTransform(Single, Single)

Škáluje místní geometrické transformace podle zadaných částek. Tato metoda předpíná matici škálování na transformaci.

ScaleTransform(Single, Single, MatrixOrder)

Škáluje místní geometrické transformace podle zadaných částek v zadaném pořadí.

ScaleTransform(Single, Single)

Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs

Škáluje místní geometrické transformace podle zadaných částek. Tato metoda předpíná matici škálování na transformaci.

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)

Parametry

sx
Single

Faktor transformace měřítka ve směru osy x.

sy
Single

Faktor transformace měřítka ve směru osy y.

Příklady

Příklad najdete v tématu ScaleTransform.

Platí pro

ScaleTransform(Single, Single, MatrixOrder)

Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs

Škáluje místní geometrické transformace podle zadaných částek v zadaném pořadí.

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)

Parametry

sx
Single

Faktor transformace měřítka ve směru osy x.

sy
Single

Faktor transformace měřítka ve směru osy y.

order
MatrixOrder

MatrixOrder, která určuje, jestli se má připojit nebo předvést matici škálování.

Příklady

Následující příklad kódu je určen pro použití s Windows Forms a vyžaduje PaintEventArgse, OnPaint objekt události. Kód

  • Vytvoří grafickou cestu a přidá do ní obdélník.

  • Vytvoří PathGradientBrush z bodů cesty (v tomto příkladu body tvoří obdélník, ale může to být většina obrazců).

  • Nastaví středovou barvu na červenou a okolní barvu na modrou.

  • Nakreslí PathGradientBrush na obrazovku před použitím transformace měřítka.

  • Použije transformaci měřítka na štětec pomocí metody ScaleTransform.

  • Zavolá metodu TranslateTransform, která přesune obdélník štětce tak, aby nepřekryje ten, který byl nakreslen na obrazovku dříve.

  • Nakreslí přeložený obdélník štětce na obrazovku.

Všimněte si, že dolní obdélník je dvakrát tak dlouhý na ose x, jako je ten nakreslený před překladem.

public:
   void ScaleTransformExample( PaintEventArgs^ e )
   {
      // Create a graphics path and add a rectangle.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      Rectangle rect = Rectangle(100,20,100,50);
      myPath->AddRectangle( rect );

      // Get the path's array of points.
      array<PointF>^myPathPointArray = myPath->PathPoints;

      // Create a path gradient brush.
      PathGradientBrush^ myPGBrush = gcnew PathGradientBrush( myPathPointArray );

      // Set the color span.
      myPGBrush->CenterColor = Color::Red;
      array<Color>^ mySurroundColor = {Color::Blue};
      myPGBrush->SurroundColors = mySurroundColor;

      // Draw the brush to the screen prior to transformation.
      e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 200 );

      // Scale by a factor of 2 in the x-axis by applying the scale
      // transform to the brush.
      myPGBrush->ScaleTransform( 2, 1, MatrixOrder::Append );

      // Move the brush down by 100 by Applying the translate
      // transform to the brush.
      myPGBrush->TranslateTransform(  -100, 100, MatrixOrder::Append );

      // Draw the brush to the screen again after applying the
      // transforms.
      e->Graphics->FillRectangle( myPGBrush, 10, 10, 300, 300 );
   }
public void ScaleTransformExample(PaintEventArgs e)
{
             
    // Create a graphics path and add a rectangle.
    GraphicsPath myPath = new GraphicsPath();
    Rectangle rect = new Rectangle(100, 20, 100, 50);
    myPath.AddRectangle(rect);
             
    // Get the path's array of points.
    PointF[] myPathPointArray = myPath.PathPoints;
             
    // Create a path gradient brush.
    PathGradientBrush myPGBrush = new
        PathGradientBrush(myPathPointArray);
             
    // Set the color span.
    myPGBrush.CenterColor = Color.Red;
    Color[] mySurroundColor = {Color.Blue};
    myPGBrush.SurroundColors = mySurroundColor;
             
    // Draw the brush to the screen prior to transformation.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);
             
    // Scale by a factor of 2 in the x-axis by applying the scale
    // transform to the brush.
    myPGBrush.ScaleTransform(2, 1, MatrixOrder.Append);
             
    // Move the brush down by 100 by Applying the translate
    // transform to the brush.
    myPGBrush.TranslateTransform(-100, 100, MatrixOrder.Append);
             
    // Draw the brush to the screen again after applying the
    // transforms.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300);
}
Public Sub ScaleTransformExample(ByVal e As PaintEventArgs)

    ' Create a graphics path and add a rectangle.
    Dim myPath As New GraphicsPath
    Dim rect As New Rectangle(100, 20, 100, 50)
    myPath.AddRectangle(rect)

    ' Get the path's array of points.
    Dim myPathPointArray As PointF() = myPath.PathPoints

    ' Create a path gradient brush.
    Dim myPGBrush As New PathGradientBrush(myPathPointArray)

    ' Set the color span.
    myPGBrush.CenterColor = Color.Red
    Dim mySurroundColor As Color() = {Color.Blue}
    myPGBrush.SurroundColors = mySurroundColor

    ' Draw the brush to the screen prior to transformation.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200)

    ' Scale by a factor of 2 in the x-axis by applying the scale
    ' transform to the brush.
    myPGBrush.ScaleTransform(2, 1, MatrixOrder.Append)

    ' Move the brush down by 100 by Applying the translate
    ' transform to the brush.
    myPGBrush.TranslateTransform(-100, 100, MatrixOrder.Append)

    ' Draw the brush to the screen again after applying the
    ' transforms.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300)
End Sub

Platí pro