• DrawingContext.Pop Method


    The following example shows the effect of the Pop command.

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Navigation;
    
    namespace SDKSample
    {
    
    
        public class PopExample : Page
        {
    
            public PopExample()
            {
                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));
    
                    // Push an opacity change of 0.5.  
                    // The opacity of each subsequent drawing will 
                    // will be multiplied by 0.5. Note that 
                    // push operations are cumulative (until they are 
                    // popped). 
                    dc.PushOpacity(0.5);
    
                    // This rectangle is drawn at 25% opacity (0.5 x 0.5). 
                    dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(50, 50, 25, 25));
    
                    // Changes the opacity back to 0.5.
                    dc.Pop();
    
                    // This rectangle is drawn at 50% opacity.
                    dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(75, 75, 25, 25));
    
                    // Changes the opacity back to 1.0.
                    dc.Pop();
    
                    // This rectangle is drawn at 100% opacity.
                    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;
    
            }
    
    
    
    
        }
    
    }

     

     

    The following illustration shows this example's output:

    Rectangles drawn with different opacity values

  • 相关阅读:
    MySQL数据库时间查询
    MySQL函数转储存(当前月数据同步)
    字节数截取字符串
    JAVA 内部静态类--解析静态内部类的使用目的与限制
    Java集合框架学习总结
    JDBC中的Statement和PreparedStatement的区别
    java jdbc的优化之BeanUtils组件
    jdbc java数据库连接 11)中大文本类型的处理
    jdbc java数据库连接 10)批处理
    jdbc java数据库连接 9)事务编程
  • 原文地址:https://www.cnblogs.com/xpvincent/p/4276456.html
Copyright © 2020-2023  润新知