Compartir a través de


Cómo: Recortar un dibujo

Actualización: noviembre 2007

En este ejemplo se muestra cómo definir una región de recorte para un objeto Drawing.

Utilice una clase DrawingGroup para definir un clip de Drawing. La clase DrawingGroup es el único tipo de objeto Drawing que permite definir su propia región Clip.

Utilice una clase Geometry para describir el clip y aplicarlo a la propiedad ClipGeometry del objeto DrawingGroup.

Ejemplo

En la ilustración se muestra DrawingGroup antes y después de aplicar un clip elíptico.

DrawingGroup con una región de recorte definida

En el ejemplo siguiente se utiliza DrawingGroup para aplicar una propiedad ClipGeometry a varios objetos GeometryDrawing.

<Page 
  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:PresentationOptions="https://schemas.microsoft.com/winfx/2006/xaml/presentation/options" 
  xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006"
  mc:Ignorable="PresentationOptions"
  Background="White" Margin="20">

  <Border BorderBrush="Gray" BorderThickness="1" 
    HorizontalAlignment="Left" VerticalAlignment="Top"
    Margin="20">
    <Image Stretch="None" HorizontalAlignment="Left">
      <Image.Source>
        <DrawingImage PresentationOptions:Freeze="True">
          <DrawingImage.Drawing>

            <!-- A DrawingGeometry with an elliptical clip region. -->
            <DrawingGroup>
              <GeometryDrawing Brush="Pink">
                <GeometryDrawing.Geometry>
                  <RectangleGeometry Rect="0,0,50,85" />
                </GeometryDrawing.Geometry>
              </GeometryDrawing>
              <GeometryDrawing Brush="Lime" 
                Geometry="M 25,25 L 0,50 25,75 50,50 25,25 25,0">
                <GeometryDrawing.Pen>
                  <Pen Thickness="10" Brush="Black" />
                </GeometryDrawing.Pen>
              </GeometryDrawing>
              <GeometryDrawing Brush="Lime">
                <GeometryDrawing.Geometry>
                  <EllipseGeometry Center="10,10" RadiusX="5" RadiusY="5" />
                </GeometryDrawing.Geometry>
                <GeometryDrawing.Pen>
                  <Pen Thickness="2" Brush="Black" />
                </GeometryDrawing.Pen>
              </GeometryDrawing>

              <DrawingGroup.ClipGeometry>
                <EllipseGeometry Center="25,50" RadiusX="25" RadiusY="50" />
              </DrawingGroup.ClipGeometry>
            </DrawingGroup>
          </DrawingImage.Drawing>
        </DrawingImage>
      </Image.Source>
    </Image>
  </Border>


</Page>

Vea también

Conceptos

Información general sobre objetos Drawing

Información general sobre geometría

Referencia

Geometry

Freeze

PresentationOptions:Freeze (Atributo)