Поделиться через


LinearGradientBrush.ScaleTransform Метод

Определение

Масштабирует локальное геометрическое преобразование по указанным значениям. Этот метод добавляет матрицу масштабирования к преобразованию.

Перегрузки

ScaleTransform(Single, Single)

Масштабирует локальное геометрическое преобразование по указанным значениям. Этот метод добавляет матрицу масштабирования к преобразованию.

ScaleTransform(Single, Single, MatrixOrder)

Масштабирует локальное геометрическое преобразование по указанным значениям в указанном порядке.

ScaleTransform(Single, Single)

Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs

Масштабирует локальное геометрическое преобразование по указанным значениям. Этот метод добавляет матрицу масштабирования к преобразованию.

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)

Параметры

sx
Single

Сумма, по которой нужно масштабировать преобразование в направлении оси X.

sy
Single

Сумма, по которой нужно масштабировать преобразование в направлении оси Y.

Примеры

Пример см. в разделе ScaleTransform.

Применяется к

ScaleTransform(Single, Single, MatrixOrder)

Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs
Исходный код:
LinearGradientBrush.cs

Масштабирует локальное геометрическое преобразование по указанным значениям в указанном порядке.

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)

Параметры

sx
Single

Сумма, по которой нужно масштабировать преобразование в направлении оси X.

sy
Single

Сумма, по которой нужно масштабировать преобразование в направлении оси Y.

order
MatrixOrder

MatrixOrder, указывающий, следует ли добавлять или добавлять матрицу масштабирования.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgseобъекта события OnPaint. Код выполняет следующие действия:

  • Создает новый LinearGradientBrush.

  • Нарисуйте многоточие на экране с помощью этой кисти.

  • Масштабирует LinearGradientBrush на два в оси x.

  • Рисует многоточие на экран непосредственно под первым многоточием, используя масштабируемую кисть.

Обратите внимание, что градиент нижнего эллипса растянут коэффициентом двух. Кроме того, обратите внимание, что вызов метода TranslateTransform используется для оправдания левого края градиентной заливки с левым краем многоточия.

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

Применяется к