Aracılığıyla paylaş


LinearGradientBrush.ResetTransform Yöntem

Tanım

Transform özelliğini kimliğe sıfırlar.

public:
 void ResetTransform();
public void ResetTransform ();
member this.ResetTransform : unit -> unit
Public Sub ResetTransform ()

Örnekler

Aşağıdaki kod örneği, Windows Forms ile kullanılmak üzere tasarlanmıştır ve OnPaint bir olay nesnesi PaintEventArgsegerektirir. Kod aşağıdaki eylemleri gerçekleştirir:

  • Yeni bir LinearGradientBrusholuşturur.

  • Bu fırçayı kullanarak ekrana üç nokta çizer.

  • LinearGradientBrushdönüştürmek için MultiplyTransform yöntemini çağırır.

  • Dönüştürülmüş fırçayı kullanarak ilk üç noktanın hemen altına bir üç nokta çizer.

  • Dönüşümü sıfırlar.

  • İlk ikisinin altındaki ekrana üçüncü bir üç nokta çizer.

En düşük üç noktanın ilk ile aynı boyutta çizildiğine ve ResetTransform yöntemine yapılan çağrı nedeniyle gradyanın eşleşecek şekilde küçültüldüğüne dikkat edin.

private:
   void ResetTransformExample( 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 );

      // Transform the LinearGradientBrush.
      array<Point>^ transformArray = {Point(20,150),Point(400,150),Point(20,200)};
      Matrix^ myMatrix = gcnew Matrix( myRect,transformArray );
      myLGBrush->MultiplyTransform( myMatrix, MatrixOrder::Prepend );

      // Draw a second ellipse to the screen
      // using the transformed brush.
      e->Graphics->FillEllipse( myLGBrush, 20, 150, 380, 50 );

      // Reset the brush transform.
      myLGBrush->ResetTransform();

      // Draw a third ellipse to the screen using the reset brush.
      e->Graphics->FillEllipse( myLGBrush, 20, 250, 200, 100 );
   }
private void ResetTransformExample(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);
             
    // Transform the LinearGradientBrush.
    Point[] transformArray = { new Point(20, 150),
         new Point(400,150), new Point(20, 200) };
       
    Matrix myMatrix = new Matrix(myRect, transformArray);
    myLGBrush.MultiplyTransform( myMatrix, MatrixOrder.Prepend);
             
    // Draw a second ellipse to the screen
    // using the transformed brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50);
             
    // Reset the brush transform.
    myLGBrush.ResetTransform();
             
    // Draw a third ellipse to the screen using the reset brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 250, 200, 100);
}
Public Sub ResetTransformExample(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)

    ' Transform the LinearGradientBrush.
    Dim transformArray As Point() = {New Point(20, 150), _
    New Point(400, 150), New Point(20, 200)}
    Dim myMatrix As New Matrix(myRect, transformArray)
    myLGBrush.MultiplyTransform(myMatrix, MatrixOrder.Prepend)

    ' Draw a second ellipse to the screen using the transformed brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50)

    ' Reset the brush transform.
    myLGBrush.ResetTransform()

    ' Draw a third ellipse to the screen using the reset brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 250, 200, 100)
End Sub

Şunlara uygulanır