Cómo: Transformar un pincel

Actualización: noviembre 2007

En este ejemplo se muestra cómo transformar objetos Brush utilizando sus dos propiedades de transformación: RelativeTransform y Transform.

En los ejemplos siguientes se utiliza un objeto RotateTransform para girar el contenido de un objeto ImageBrush 45 grados.

En la ilustración siguiente se muestra el objeto ImageBrush sin RotateTransform, con el objeto RotateTransform aplicado a la propiedad RelativeTransform y con el objeto RotateTransform aplicado a la propiedad Transform.

Valores de Brush RelativeTransform y Transform

Ejemplo

En el primer ejemplo se aplica un objeto RotateTransform a la propiedad RelativeTransform de un objeto ImageBrush. Las propiedades CenterX y CenterY de un objeto RotateTransform se establecen ambas en 0,5, que es la coordenada relativa del punto central de este contenido. Como resultado, el contenido del objeto ImageBrush gira sobre su centro.

//
// Create an ImageBrush with a relative transform and
// use it to paint a rectangle.
//
ImageBrush relativeTransformImageBrush = new ImageBrush();
relativeTransformImageBrush.ImageSource =
    new BitmapImage(new Uri(@"sampleImages\pinkcherries.jpg", UriKind.Relative));

// Create a 45 rotate transform about the brush's center
// and apply it to the brush's RelativeTransform property.
RotateTransform aRotateTransform = new RotateTransform();
aRotateTransform.CenterX = 0.5; 
aRotateTransform.CenterY = 0.5;
aRotateTransform.Angle = 45;
relativeTransformImageBrush.RelativeTransform = aRotateTransform;

// Use the brush to paint a rectangle.
Rectangle relativeTransformImageBrushRectangle = new Rectangle();
relativeTransformImageBrushRectangle.Width = 175;
relativeTransformImageBrushRectangle.Height = 90;
relativeTransformImageBrushRectangle.Stroke = Brushes.Black;
relativeTransformImageBrushRectangle.Fill = relativeTransformImageBrush;

<Rectangle Width="175" Height="90" Stroke="Black">
  <Rectangle.Fill>
    <ImageBrush ImageSource="sampleImages\pinkcherries.jpg">
      <ImageBrush.RelativeTransform>
        <RotateTransform CenterX="0.5" CenterY="0.5" Angle="45" />
      </ImageBrush.RelativeTransform>
    </ImageBrush>
  </Rectangle.Fill>
</Rectangle>

En el segundo ejemplo también se aplica un objeto RotateTransform a ImageBrush; sin embargo, en este ejemplo se utiliza la propiedad Transform en lugar de la propiedad RelativeTransform.

Para girar el pincel sobre su centro, el ejemplo establece las propiedades CenterX y CenterY del objeto RotateTransform en coordenadas absolutas. Dado que el pincel pinta un rectángulo que es de 175 por 90 píxeles, el punto central del rectángulo es (87,5, 45).

//
// Create an ImageBrush with a transform and
// use it to paint a rectangle.
//
ImageBrush transformImageBrush = new ImageBrush();
transformImageBrush.ImageSource =
    new BitmapImage(new Uri(@"sampleImages\pinkcherries.jpg", UriKind.Relative));

// Create a 45 rotate transform about the brush's center
// and apply it to the brush's Transform property.
RotateTransform anotherRotateTransform = new RotateTransform();
anotherRotateTransform.CenterX = 87.5;
anotherRotateTransform.CenterY = 45;
anotherRotateTransform.Angle = 45;
transformImageBrush.Transform = anotherRotateTransform;

// Use the brush to paint a rectangle.
Rectangle transformImageBrushRectangle = new Rectangle();
transformImageBrushRectangle.Width = 175;
transformImageBrushRectangle.Height = 90;
transformImageBrushRectangle.Stroke = Brushes.Black;
transformImageBrushRectangle.Fill = transformImageBrush;

<Rectangle Width="175" Height="90" Stroke="Black">
  <Rectangle.Fill>
    <ImageBrush ImageSource="sampleImages\pinkcherries.jpg">
      <ImageBrush.Transform>
        <RotateTransform CenterX="87.5" CenterY="45" Angle="45" />
      </ImageBrush.Transform>
    </ImageBrush>
  </Rectangle.Fill>
</Rectangle>

Para ver una descripción de cómo funcionan las propiedades RelativeTransform y Transform, vea Información general sobre la transformación de pinceles.

Para obtener el ejemplo completo, vea Ejemplo Brushes. Para obtener más información acerca de los pinceles, consulte Información general sobre el dibujo con colores sólidos y degradados.

Vea también

Conceptos

Información general sobre la transformación de pinceles

Información general sobre el dibujo con colores sólidos y degradados

Información general sobre transformaciones