DrawingContext.PushOpacity Method

Definition

Pushes the specified opacity setting onto the drawing context.

Overloads

PushOpacity(Double)

Pushes the specified opacity setting onto the drawing context.

PushOpacity(Double, AnimationClock)

Pushes the specified opacity setting onto the drawing context and applies the specified animation clock.

PushOpacity(Double)

Pushes the specified opacity setting onto the drawing context.

C#
public abstract void PushOpacity(double opacity);

Parameters

opacity
Double

The opacity factor to apply to subsequent drawing commands. This factor is cumulative with previous PushOpacity(Double) operations.

Examples

The following example demonstrates the PushOpacity, PushEffect, and Pop commands.

C#
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Media.Effects;

namespace SDKSample
{

    public class PushEffectExample : Page
    {

        public PushEffectExample()
        {
            Pen shapeOutlinePen = new Pen(Brushes.Black, 2);
            shapeOutlinePen.Freeze();

            // Create a DrawingGroup
            DrawingGroup dGroup = new DrawingGroup();

            // Obtain a DrawingContext from 
            // the DrawingGroup.
            using (DrawingContext dc = dGroup.Open())
            {
                // Draw a rectangle at full opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(0, 0, 25, 25));

                // Push an opacity change of 0.5. 
                // The opacity of each subsequent drawing will
                // will be multiplied by 0.5.
                dc.PushOpacity(0.5);

                // This rectangle is drawn at 50% opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(25, 25, 25, 25));

                // Blurs subsquent drawings. 
                dc.PushEffect(new BlurBitmapEffect(), null);

                // This rectangle is blurred and drawn at 50% opacity (0.5 x 0.5). 
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(50, 50, 25, 25));

                // This rectangle is also blurred and drawn at 50% opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(75, 75, 25, 25));

                // Stop applying the blur to subsquent drawings.
                dc.Pop();

                // This rectangle is drawn at 50% opacity with no blur effect.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(100, 100, 25, 25));
            }

            // Display the drawing using an image control.
            Image theImage = new Image();
            DrawingImage dImageSource = new DrawingImage(dGroup);
            theImage.Source = dImageSource;

            this.Content = theImage;
        }
    }
}

Remarks

The opacity is blended into all subsequent drawing commands until it is removed by the Pop command.

Applies to

.NET Framework 4.8.1 i druge verzije
Proizvod Verzije
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

PushOpacity(Double, AnimationClock)

Pushes the specified opacity setting onto the drawing context and applies the specified animation clock.

C#
public abstract void PushOpacity(double opacity, System.Windows.Media.Animation.AnimationClock opacityAnimations);

Parameters

opacity
Double

The opacity factor to apply to subsequent drawing commands. This factor is cumulative with previous PushOpacity(Double) operations.

opacityAnimations
AnimationClock

The clock with which to animate the opacity value, or null for no animation. This clock must be created from an AnimationTimeline that can animate Double values.

Remarks

The opacity is blended into all subsequent drawing commands until it is removed by the Pop command.

Applies to

.NET Framework 4.8.1 i druge verzije
Proizvod Verzije
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10