天天看点

WPF之Brush画刷

WPF之Brush画刷

定义用于绘制图形对象的对象。 派生自 Brush 的类描述如何绘制区域。

注解

一个Brush"绘制"或"填充"区域与相应的输出。 不同画笔具有不同类型的输出。 某些画笔绘制用纯色,其他人使用渐变、 模式、 图像或绘图区域。 以下列表介绍了不同类型的WPF画笔:

SolidColorBrush: 绘制使用纯色区域Color。

LinearGradientBrush: 绘制带有线性渐变的区域。

RadialGradientBrush: 绘制带有径向渐变的区域。

ImageBrush: 绘制带有图像的区域 (由此ImageSource对象)。

DrawingBrush: 使用绘制区域Drawing。 绘图可能包含矢量和位图对象。

VisualBrush: 使用绘制区域Visual对象。 一个VisualBrush使您可以复制到另一个区域,则应用程序的一个部分中的内容是非常适用于创建反射效果和放大屏幕的部分。

WPF之Brush画刷
1、SolidColorBrush:纯色绘制区域。
<Rectangle Width="100" Height="100" >
            <Rectangle.Fill>
                <SolidColorBrush Color="Blue"/>
            </Rectangle.Fill>
</Rectangle>
           
WPF之Brush画刷
2、LinearGradientBrush:使用线性渐变绘制区域。
WPF之Brush画刷
WPF之Brush画刷
<Rectangle Width="100" Height="100" >
            <Rectangle.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
                    <GradientStop Color="Orange" Offset="0"/>
                    <GradientStop Color="RED" Offset="0.3"/>
                    <GradientStop Color="Blue" Offset="0.5"/>
                    <GradientStop Color="Aqua" Offset="0.8"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
</Rectangle>
           
WPF之Brush画刷
3、RadialGradientBrush:径向渐变绘制区域。

注解

RadialGradientBrush编程模型中类似LinearGradientBrush。 但是,线性渐变有一个起点和终点来定义渐变向量而径向渐变圆形,以及焦点,定义渐变的行为。 圆定义渐变的结束点。 换而言之,梯度停止点在 1.0 定义圆的周长处的颜色。 焦点定义渐变的中心。 梯度停止点在 0.0 定义焦点处的颜色。

下图显示了使用径向渐变填充的矩形。 径向渐变到灰色,再从白色变化。 外部圆表示渐变圆形,而红点表示焦点。 此渐变都有其SpreadMethod设置为Pad。

WPF之Brush画刷

具有突出显示的焦点径向渐变

WPF之Brush画刷
<Rectangle Width="100" Height="100" >
            <Rectangle.Fill>
                <RadialGradientBrush  >
                    <GradientStop Color="Orange" Offset="0"/>
                    <GradientStop Color="RED" Offset="0.3"/>
                    <GradientStop Color="Blue" Offset="0.5"/>
                    <GradientStop Color="Aqua" Offset="0.8"/>
                </RadialGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
           
WPF之Brush画刷
4、ImageBrush:使用图像绘制区域。

注解

ImageBrush是一种TileBrush其内容定义为一个映像,通过指定其ImageSource属性。 您可以控制如何拉伸、 对齐和平铺,映像可用于生成图案和其他效果。 下图显示使用能够实现某些效果ImageBrush。

WPF之Brush画刷

使用 ImageBrush 可以绘制形状、 控件、 文本和的详细信息

如前文所述,ImageBrush使用绘制区域ImageSource。 最常见的类型ImageSource要用于ImageBrush是BitmapImage,它描述了位图图形。 可以使用DrawingImage进行绘制Drawing对象,但它是使用简单得多DrawingBrush相反。 有关详细信息ImageSource对象,请参阅图像概述。

有关详细信息ImageBrush功能,请参阅使用图像、 绘图和视觉对象进行绘制概述。

WPF之Brush画刷
WPF之Brush画刷
<Rectangle Width="100" Height="100" >
            <Rectangle.Fill>
                <ImageBrush  ImageSource="https://docs.microsoft.com/zh-cn/dotnet/media/wcpsdk-graphicsmm-diagonalgradientaxis.png?view=netframework-4.7.2" />
            </Rectangle.Fill>
        </Rectangle>
           
WPF之Brush画刷
5、DrawingBrush:用 Drawing 绘制区域。

用 Drawing 绘制区域,其中可以包括形状、文本、视频、图像或其他绘图。

WPF之Brush画刷
WPF之Brush画刷
WPF之Brush画刷
6、VisualBrush:使用 Visual 绘制区域。
WPF之Brush画刷
WPF之Brush画刷
WPF之Brush画刷
<StackPanel>
            <Button Name="L" Content="LINZHIN" />
            <Rectangle Width="250" Height="25">
                <Rectangle.Fill>
                    <VisualBrush Visual="{Binding ElementName=L}" />
                </Rectangle.Fill>
            </Rectangle>
</StackPanel>
           
WPF之Brush画刷
WPF

继续阅读