WPF 之绘画(十一)


一、WPF 绘画

WPF 可以绘制线段(Line)、矩形(Rectange)、椭圆(Ellipse)、路径(Path)。具体使用如下所示:

 
        
        
        
        
            
                
                    
                    
                
            
        
        
        
        
        
        
        
            
                
            
        

其中,路径(Path)是最强大的工作,它可以组合线段、矩形、椭圆、贝塞尔曲线等,形成复杂的图形,同时可以使用 Path 裁剪不规则的控件。

自定义 Path 如下:

     
        
            
                
                    
                        
                            
                            
                            
                            
                            
                        
                    
                
            
        

为了方便编写,简写的自定义 Path 和简写规则如下:

        
        
        
        

制作不规则窗体和控件时,可以可以把制作好的特殊 Path 的 Data 赋值给控件的 Clip 属性即可,具体如下:

 
 
        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            this.Clip = this.PathClip.Data;
        }

如果是窗体,需添加设置 AllowsTransparency="True" 和 WindowStyle="None",即使得窗体允许被裁剪。

二、图形的效果与滤镜

WPF 中可以 BitmapEffect 和 Effect 进行模糊设置、投影设置等各种特效。其中,BitmapEffect 的效果渲染主要是依靠 PC 的 CPU 进行的,Effect 是依靠 GPU 进行的。

       
        

三、图形的变形

控制变形的属性有两个:

RenderTransform (呈现变形),定义在 UIElement 中。

LayoutTransform(布局变形),定义在 FramneworkElement 中。

呈现变形和布局变形的主要区别在于,布局变形会影响窗体的布局、导致窗体布局的重新计算,所以较为要消耗计算机性能,而呈现布局只是展示元素出现在哪里,不涉及窗体重新布局。

        
        
            
                
            
        
WPF