WPF基本画刷和图片简单处理

二、WPF基本画刷

       1> SolidColorBrush:实心画刷,使用颜色直接赋值

       2> LinearGradientBrush:线性渐变画刷,色彩沿设定的直线方向、按设定的变化点进行渐变。

       3> RadialGradientBrush:径向渐变画刷,色彩沿半径的方向、按设定的变化点进行渐变,形成圆形填充

       4> ImageBrush:使用图片作为填充内容

看下面一个例子:

<Grid>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="201*"/>

            <ColumnDefinition Width="198*"/>

            <ColumnDefinition Width="193*"/>

        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>

            <RowDefinition Height="120*"/>

            <RowDefinition Height="149*"/>

        </Grid.RowDefinitions>

        <!--实心填充-->

        <Ellipse Grid.Column="0" Grid.Row="0" Fill="Pink"/>

        <!--线性渐变-->

        <Ellipse Grid.Column="1" Grid.Row="0">

            <Ellipse.Fill>

                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">

                    <GradientStop Color="#FFFBDC18" Offset="0"></GradientStop>

                    <GradientStop Color="#FFD1CA48" Offset="0.25"></GradientStop>

                    <GradientStop Color="#FF72C0F5" Offset="0.6"></GradientStop>

                    <GradientStop Color="#FF5F6BEA" Offset="1"></GradientStop>

                </LinearGradientBrush>

            </Ellipse.Fill>

        </Ellipse>

        <!--径向渐变-->

        <Ellipse Grid.Column="2" Grid.Row="0">

            <Ellipse.Fill>

                <RadialGradientBrush>

                    <GradientStop Color="#FFFB9418" Offset="0"></GradientStop>

                    <GradientStop Color="#FFDEEC53" Offset="0.25"></GradientStop>

                    <GradientStop Color="#FF72C0F5" Offset="0.6"></GradientStop>

                    <GradientStop Color="#FF5F6BEA" Offset="1"></GradientStop>

                </RadialGradientBrush>

            </Ellipse.Fill>

        </Ellipse>

        <!--图片填充-->

        <Ellipse Grid.Column="0" Grid.Row="1">

            <Ellipse.Fill>

                <ImageBrush ImageSource="Image\aaf34bac5e8cc41b65187b0817e00cda.jpg"/>

            </Ellipse.Fill>

        </Ellipse>

</Grid>

效果图如下:

 

三、WPF图像简单处理

1>图片拉伸:通过设置Stretch属性实现图像的拉伸,

看下面一个例子:

<Grid>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="146*"/>

            <ColumnDefinition Width="146*"/>

        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>

            <RowDefinition Height="134*"/>

            <RowDefinition Height="135*"/>

        </Grid.RowDefinitions>

        <Grid x:Name="contentGrid" Grid.Row="0" Grid.Column="0">

            <!--Uniform 等比拉伸,默认等比拉伸-->

            <Image Source="Image\史大力小兔子.jpg" Width="120" Height="120" Stretch="Uniform"/>

        </Grid>

        <Grid Grid.Column="1" Grid.Row="0">

            <!--None 原始尺寸-->

            <Image Source="Image\史大力小兔子.jpg" Width="120" Height="120" Stretch="None"/>

        </Grid>

        <Grid Grid.Column="0" Grid.Row="1">

            <!--Fill 填充拉伸-->

            <Image Source="Image\史大力小兔子.jpg" Width="120" Height="120" Stretch="Fill"/>

        </Grid>

        <Grid Grid.Column="1" Grid.Row="1">

            <!--UniformToFill 等比拉伸填充-->

            <Image Source="Image\史大力小兔子.jpg" Width="120" Height="120" Stretch="UniformToFill"/>

        </Grid>

</Grid>

效果图如下:

2>裁切图像:通过设置Clip属性裁切图像

看下面一个例子:

  <Grid>

        <Grid.RowDefinitions>

            <RowDefinition Height="198*"/>

            <RowDefinition Height="271*"/>

        </Grid.RowDefinitions>

        <Image Source="Image\aaf34bac5e8cc41b65187b0817e00cda.jpg" Grid.Row="0"/>

        <Image Source="Image\aaf34bac5e8cc41b65187b0817e00cda.jpg" Grid.Row="1">

            <Image.Clip>

                <!--设置需要裁切的左上和右下位置-->

                <RectangleGeometry Rect="30,30 150,150"></RectangleGeometry>

            </Image.Clip>

        </Image>

</Grid>

效果图如下:上面是原图,下面的是经过裁切的

3>使用图像输入文字:ImageBrush元素实现使用图像输入文字

看下面一个例子:

<Grid>

        <TextBlock FontSize="180" FontStyle="Italic" FontWeight="Bold">smile

            <TextBlock.Foreground>

                <ImageBrush ImageSource="Image\aaf34bac5e8cc41b65187b0817e00cda.jpg"/>

            </TextBlock.Foreground>

        </TextBlock>

</Grid>

效果图如下:

4>透明效果

看下面一个例子:

<Grid>

        <Image Source="Image\aaf34bac5e8cc41b65187b0817e00cda.jpg" Opacity="0.8"/>

</Grid>

效果图如下:

 

猜你喜欢

转载自blog.csdn.net/qq_44551864/article/details/91355484
今日推荐