一起看看WPF的图形世界

位图(Bitmap)

  • 位图(Bitmap)是一种重要的图形元素,用于呈现图像内容。位图效果(BitmapEffect 在 .NET Framework 4 或更高版本提示已过期,推荐使用Effect )是WPF中一种用于增强位图显示的特效技术,通过将像素级别的操作应用于位图,可以实现各种视觉效果,如模糊、投影等。
  • 比如 给按钮增加投影,图片增加模糊效果(图片记得设置图片属性,复制到输出目录设为:始终复制,生成操作设置为:资源,否则会出现运行后不会显示图片问题)。
//  给按钮增加投影,图片增加模糊效果

    
        
            
            
        
        
            
        

        
        


        
            
            
                
                    
                
            
        

    

一起看看WPF的图形世界_第1张图片

画刷(Brush)

  • Brush是一个用于绘制图形的对象。它通常包含一些属性,这些属性决定了如何使用特定的颜色或效果来填充图形内部或外部的区域。Brush对象在许多图形库和应用程序中都有使用,特别是在像WPF、WinForms、GDI+等框架中。而在WPF种使用SolidColorBrush、LinearGradientBrush、RadialGradientBrush、ImageBrush、DrawingBrush、VisualBrush等类创建和控制画笔实现图形填充、文本绘制、高级图形效果等。
实心画刷(SolidColorBrush)
  • SolidColorBrush通常使用单一颜色填充图形或文本区域.它可以使您快速地创建一个纯色填充的图形元素。除了用于填充图形外,它还可以作为文本的背景色或前景色,以改变文本的外观和感觉。
// 使用SolidColorBrush 纯色填充元素,和文本背景颜色和字体颜色

    

        
            
            
            
        
        
        
            
        
        
        
        
            
                
            
        
        
        
        
            
                
            
        


        
            
                
                    
                
                
                    
                
                SolidColorBrush 设置文本背景颜色和字体颜色
            
        
    

一起看看WPF的图形世界_第2张图片

线性渐变画刷(LinearGradientBrush)
  • 用于填充区域或形状的渐变画刷。它通过指定渐变的起始点和结束点,以及在渐变轴上的一系列颜色和位置,来实现沿直线方向的颜色的线性过渡效果。它的主要属性有 StartPoint和EndPoint:这两个属性定义了渐变的起始点和结束点,决定了渐变的方向(默认是左上角开始到右下角)属性和GradientStops(包含多个GradientStop对象的集合,每个GradientStop对象包含一个Offset属性,表示渐变停止点的位置,取值范围为0到1)属性等
//  使用LinearGradientBrush 渐变色设置矩形四种颜色渐变,圆形两种颜色
// LinearGradientBrush的StartPoint设置为左上角(0,0),EndPoint设置为右下角(1,1),渐变将从左上角开始,沿对角线方向渐变到右下角
// Offset的值范围是0到1,表示颜色的渐变位置。Offset为0表示渐变的起点,Offset为1表示渐变的终点


    
        
            
            
            
        

        
            
        

        
        
            
                
                    
                        
                        
                        
                        
                        
                        
                    
                
            
        

        
            
                
                    
                        
                        
                        
                    
                
            
        

    

一起看看WPF的图形世界_第3张图片

径向渐变画刷(RadialGradientBrush)
  • 用于绘制径向渐变的画刷类。径向渐变将两种或多种颜色混合在一个圆圈中,通常用于创建圆形渐变效果。它的主要属性有 Center定义渐变的中心点坐标。GradientOrigin:定义渐变的起始点(它的值通常为0,1,默认为中心(0.5,0.5)),与Center结合使用,可以调整渐变的形状和方向。GradientStops:定义渐变中的颜色和它们在渐变轴上的位置,类似于LinearGradientBrush中的属性。

    
        
            
            
            
        

        
            
        

        

        
        
            
                
                    
                        
                    
                        
                        
                        
                        
                        
                        
                        
                    
                
            
        

        
            
                
                    
                        
                        
                        
                    
                
            
        
    



一起看看WPF的图形世界_第4张图片

图像画刷(ImageBrush)
  • 它使用ImageSource属性来定义图像作为画刷的绘制内容。ImageBrush可用于绘制形状、控件,文本等。
 // 使用 ImageSource 来设置背景图

    
        
        
        
        
        

        
            
        

         
        
            
                
                
            
        

         
        
        
        
        
            
                
                
            
            
            我是一个有背景的文本
        
    


一起看看WPF的图形世界_第5张图片

自制画刷(DrawingBrush)
  • 用于在界面上绘制图形。它提供了一种灵活的方式来绘制形状、图像和其他图形。DrawingBrush可以将各种图形绘制到一个表面上,然后通过将这个画刷应用到控件的背景来展示绘制的图形。
// 使用 DrawingBrush 绘制 


    

        
        
            
                
                    
                        
                            
                            
                                
                                    
                                
                            

                            
                            
                                
                                    
                                
                            

                            
                            
                                
                                    
                                
                                
                                    
                                    
                                
                            
                            
                        
                    

                
            
        
    



一起看看WPF的图形世界_第6张图片

控件画刷(VisualBrush)
  • 使用 Visual 对象绘制区域。 Visual 对象的包括 Button、MediaElement 等
//  VisualBrush  绘制

    
        
            
                
                    
                        
                            
                                
                                
                                    
                                        
                                            
                                                
                                                    
                                                    
                                                
                                            
                                            
                                                
                                                    
                                                    
                                                
                                            
                                        
                                    
                                
                            
                            
                            
                            这里是文字
                            
                            
                            

                            
                            
                        
                    
                
            
        
    


一起看看WPF的图形世界_第7张图片

公众号“点滴分享技术猿


关注

你可能感兴趣的:(wpf)