DrawingGroup.Opacity Eigenschaft

Definition

Ruft die Durchlässigkeit der DrawingGroup ab oder legt diese fest.Gets or sets the opacity of this DrawingGroup.

public:
 property double Opacity { double get(); void set(double value); };
public double Opacity { get; set; }
member this.Opacity : double with get, set
Public Property Opacity As Double

Eigenschaftswert

Ein Wert aus dem Bereich von 0 bis einschließlich 1, der die Durchlässigkeit der DrawingGroup beschreibt.A value between 0 and 1, inclusive, that describes the opacity of this DrawingGroup. Der Standardwert ist 1.The default is 1.

Beispiele

In diesem Beispiel wird gezeigt, wie die durch DrawingLässigkeit eines geändert wird.This example shows how to modify the opacity of a Drawing. Die DrawingGroup -Klasse ist der einzige Drawing Objekttyp, Opacity der über eine-Eigenschaft verfügt.The DrawingGroup class is the only type of Drawing object that has an Opacity property.

Wenn Drawing Sie die Deckkraft eines-Objekts ändern möchten, fügen Sie es einem DrawingGroup hinzu Opacity , und DrawingGroup legen Sie die-Eigenschaft des-Objekts fest.To change the opacity of a Drawing object, add it to a DrawingGroup and set the Opacity property of the DrawingGroup object.

Die Opacity -Einstellung DrawingGroup des-Objekts wird mit der Deckkraft der untergeordneten Zeichnungen multipliziert. DrawingGroup Wenn Opacity z. b. einen von Brush0,5 und einen GeometryDrawing -Wert enthält, der einen 50%-Wert aufweist, ist der Pinsel 25. Prozent deckend (0,5 * 0,5).The Opacity setting of the DrawingGroup object is multiplied by the opacity of its child drawings; for example, if a DrawingGroup has an Opacity of 0.5 and it contains a GeometryDrawing that has a 50 percent opaque Brush, the brush is 25 percent opaque (0.5 * 0.5).

Um die Deckkraft der ausgewählten Teile einer Zeichnung zu ändern, verwenden Sie OpacityMaskeine.To alter the opacity of select portions of a drawing, use an OpacityMask.

Im folgenden Beispiel wird ein DrawingGroup verwendet, um GeometryDrawing mehrere-Objekte zu kombinieren.The following example uses a DrawingGroup to combine several GeometryDrawing objects. Im Beispiel wird auch die Deckkraft des DrawingGroup -Objekts auf 0,25 festgelegt, sodass die Zeichnungen 25 Prozent nicht transparent sind.The example also sets the opacity of the DrawingGroup object to 0.25 so that the drawings are 25 percent opaque.

Diese Abbildung zeigt DrawingGroup , Opacity was vor und nach dem auf 0,25 festgelegt ist.This illustration shows the DrawingGroup before and after its Opacity is set to 0.25.

![Drawinggroups mit unterschiedlichen Deckkraft Einstellungen] (~/add/media/graphicsmm-opacity.png "Drawinggroups mit unterschiedlichen Deckkraft Einstellungen")DrawingGroups with different opacity settings

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SDKSample
{
    public class OpacityExample : Page
    {
        public OpacityExample()
        {

            //
            // Create a GeometryDrawing.
            //

            // Define the drawing's contents.
            PathFigure pLineFigure = new PathFigure();
            pLineFigure.StartPoint = new Point(25, 25);
            PolyLineSegment pLineSegment = new PolyLineSegment();
            pLineSegment.Points.Add(new Point(0, 50));
            pLineSegment.Points.Add(new Point(25, 75));
            pLineSegment.Points.Add(new Point(50, 50));
            pLineSegment.Points.Add(new Point(25, 25));
            pLineSegment.Points.Add(new Point(25, 0));
            pLineFigure.Segments.Add(pLineSegment);
            PathGeometry pGeometry = new PathGeometry();
            pGeometry.Figures.Add(pLineFigure);

            GeometryDrawing drawing1 = new GeometryDrawing(
                    Brushes.Lime,
                    new Pen(Brushes.Black, 10),
                    pGeometry
                );

            //
            // Create another GeometryDrawing.
            //
            GeometryDrawing drawing2 = new GeometryDrawing(
                    Brushes.Lime,
                    new Pen(Brushes.Black, 2),
                    new EllipseGeometry(new Point(10, 10), 5, 5)
                );

            // Create the DrawingGroup and add the
            // geometry drawings.
            DrawingGroup aDrawingGroup = new DrawingGroup();
            aDrawingGroup.Children.Add(drawing1);
            aDrawingGroup.Children.Add(drawing2);

            //
            // Set the opacity of the DrawingGroup to 0.25.
            //
            aDrawingGroup.Opacity = 0.25;

            // Use an Image control and a DrawingImage to
            // display the drawing.
            DrawingImage aDrawingImage = new DrawingImage(aDrawingGroup);

            // Freeze the DrawingImage for performance benefits.
            aDrawingImage.Freeze();

            Image anImage = new Image();
            anImage.Source = aDrawingImage;
            anImage.Stretch = Stretch.None;
            anImage.HorizontalAlignment = HorizontalAlignment.Left;

            // Create a border around the images and add it to the
            // page.
            Border imageBorder = new Border();
            imageBorder.BorderBrush = Brushes.Gray;
            imageBorder.BorderThickness = new Thickness(1);
            imageBorder.VerticalAlignment = VerticalAlignment.Top;
            imageBorder.HorizontalAlignment = HorizontalAlignment.Left;
            imageBorder.Margin = new Thickness(20);
            imageBorder.Child = anImage;

            this.Background = Brushes.White;
            this.Margin = new Thickness(20);
            this.Content = imageBorder;

        }
    }
}
<Page 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options" 
  xmlns:mc="http://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">
      <Image.Source>
        <DrawingImage PresentationOptions:Freeze="True">
          <DrawingImage.Drawing>

            <!-- The drawing group, with an Opacity of 0.25. -->
            <DrawingGroup Opacity="0.25">
              <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>
          </DrawingImage.Drawing>
        </DrawingImage>
      </Image.Source>
    </Image>
  </Border>


</Page>

Hinweise

Der Wert gibt 1 an, dass DrawingGroup der vollständig nicht transparent ist. 0 der Wert gibt an, dass er vollständig transparent ist.A value of 1 specifies that the DrawingGroup is completely opaque; a value of 0 specifies that it is completely transparent. Ein Wert, der kleiner als 0 (null) ist, wird als 0 behandelt, und ein Wert, der größer als 1 ist, wird als 1 behandelt.A value that is less than 0 is treated as 0, and a value that is larger than 1 is treated as 1.

Eine andere Möglichkeit, die Deckkraft GeometryDrawing eines zu steuern, besteht darin, den Brush Opacity von seinem anzugeben.Another way to control the opacity of a GeometryDrawing is to specify the Opacity of its Brush.

DrawingGroupVorgänge werden in der folgenden Reihenfolge angewendet:DrawingGroup operations are applied in the following order:

  1. OpacityMask

  2. Opacity

  3. BitmapEffect

  4. ClipGeometry

  5. GuidelineSet

  6. Transform

Informationen zur AbhängigkeitseigenschaftDependency Property Information

BezeichnerfeldIdentifier field OpacityProperty
Metadateneigenschaften auf true festgelegtMetadata properties set to true KeineNone

Gilt für:

Siehe auch