天天看點

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

繼續閱讀