LinearGradientBrush.ScaleTransform Метод

Определение

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

Перегрузки

ScaleTransform(Single, Single)

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

ScaleTransform(Single, Single, MatrixOrder)

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

ScaleTransform(Single, Single)

Исходный код:
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

Коэффициент изменения масштаба преобразования по оси Х.

sy
Single

Коэффициент изменения масштаба преобразования по оси Y.

Примеры

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

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

ScaleTransform(Single, Single, MatrixOrder)

Исходный код:
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

Коэффициент изменения масштаба преобразования по оси Х.

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

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