DrawingContext.PushOpacity Method (Double)
Pushes the specified opacity setting onto the drawing context.
Namespace: System.Windows.Media
Assembly: PresentationCore (in PresentationCore.dll)
Parameters
- opacity
- Type: System.Double
The opacity factor to apply to subsequent drawing commands. This factor is cumulative with previous PushOpacity operations.
The opacity is blended into all subsequent drawing commands until it is removed by the Pop command.
The following example demonstrates the PushOpacity, PushEffect, and Pop commands.
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; } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.