• Sliverlight之 画刷


    1,5种画刷 (见Project15)

    (1)TextBlock控件中的Forground和BackGround属性是一个什么对象?它在前台的完整的写法是什么?
    (实际是.net做了一个转换,可以直接写成ForeGround="Red")


    说明:它们实际上是一个Brush类型

    <TextBlock Name="tb1" Text="ddd">
    <TextBlock.Foreground>
    <SolidColorBrush Color="Red"></SolidColorBrush>
    </TextBlock.Foreground>
    </TextBlock>

    注意:在Sliverlight中,几乎所有和颜色有关的属性都是Brush类型

    (2)Brush类是一个什么类

    说明:Brush是一个绘制图形的类


    (3)什么是实心颜色画刷(单色笔刷)

    说明: 它的标签是SolidColorBrush,重要的属性是Color填充颜色

    <Rectangle.Fill>
    <SolidColorBrush Color="Green"></SolidColorBrush>
    </Rectangle.Fill>

    (4)点击按钮,改变TextBlock控件文字颜色为绿色

    说明:

    SolidColorBrush solid = new SolidColorBrush();
    solid.Color = Colors.Green;
    tb1.Foreground = solid;


    (5)什么是线型渐变画刷

    说明:
    线型渐变标签是LinearGradient
    几个重要属性:StartPoint EndPoint
    它的渐变点是GradientStop


    (6)线型渐变画刷的渐变点是什么,它的offset属性有什么含义

    说明:
    渐变点:GradientStop
    Offset值的范围是0---1,表示渐变点所属区域的位置

    (7)线型渐变画刷的起始位置是哪两个属性,它和x轴和y轴是什么关系,不同数值代表什么含义

    说明:
    起始位置是 StartPoint(x,y) EndPoint(x,y)
    表示渐变的方向


    (8)在Rectangle控件中用线型渐变画刷对3种颜色分别从横向和纵向画出一个渐变

    说明:

    横向线型渐变

    <Rectangle.Fill>
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
    <GradientStop Color="Red" Offset="0"></GradientStop>
    <GradientStop Color="Yellow" Offset="0.5"></GradientStop>
    <GradientStop Color="Green" Offset="1"></GradientStop>
    </LinearGradientBrush>
    </Rectangle.Fill>

    纵向线型渐变
    StartPoint="0,0" EndPoint="0,1"


    (9)把TextBlock控件中文字作出一个线型渐变的效果

    说明:

    <TextBlock.Foreground>
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
    <GradientStop Color="Black" Offset="0"></GradientStop>
    <GradientStop Color="Blue" Offset="0.25"></GradientStop>
    <GradientStop Color="Yellow" Offset="0.75"></GradientStop>
    </LinearGradientBrush>
    </TextBlock.Foreground>

      


    (10)作一个文字闪烁的效果(线性渐变,定时器,TextBlock)

    说明:

    DispatcherTimer dt = new DispatcherTimer();
    dt.Interval = TimeSpan.FromMilliseconds(300);
    dt.Tick += dt_Tick;
    dt.Start();
    
    double number = 0.1;
    void dt_Tick(object sender,EventArgs e)
    {
    tb1.Text = gs1.Offset.ToString();
    if (gs1.Offset >= 1 || gs1.Offset<=0)
    {
    number = - number;
    }
    
    gs1.Offset += number;
    
    if (gs1.Offset > 1)
    {
    gs1.Offset = 1;
    }
    if (gs1.Offset < 0)
    {
    gs1.Offset = 0;
    }
    
    }

    注意:
    使用DispatcherTimer,要引用using System.Windows.Threading;

    (11)什么是径向渐变,径向渐变的中心点如何设置?

    说明:

    径向渐变的标签是RadialGradientBrush

    它的属性有:

    GradientOrigin是焦点,它是定义渐变的开始
    GradientOrigin设置中心点,默认是GradientOrigin="0.5,0.5",即处于中心点位置

    Center="x,y"获取或设置外面圆的圆心,默认值是Center="0.5,0.5"

    RadiusX 获取或设置外面圆的水平半径,默认值是RadiusX="0.5"
    RadiusY 获取或设置最面圆的垂直半径,默认值是RadiusY="0.5"

    (12)在Rectangle控件中实现一个径向渐变的时空门效果

    说明:

    <Rectangle.Fill>
    <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
    <GradientStop Color="Red" Offset="0"></GradientStop>
    <GradientStop Color="Blue" Offset="0.5"></GradientStop>
    <GradientStop Color="Green" Offset="1"></GradientStop>
    </RadialGradientBrush>
    </Rectangle.Fill>


    (13)什么是图片画刷,在TextBlock中文字和背景色上演示一下

    说明:
    图片画刷的标签是ImageBrush,表示用图片绘制
    重要的属性是ImageSource

    <TextBlock.Foreground>
    <ImageBrush ImageSource="1.jpg"></ImageBrush>
    </TextBlock.Foreground>


    (14)什么是视频画刷,在TextBlock中文字和背景色上演示一下

    说明:

    视频画刷的标签是VideoBrush,它的重要的属性是SourceName
    需要放一个MediaElement

    <TextBlock FontSize="50" HorizontalAlignment="Left" Margin="88,100,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top">
    <TextBlock.Foreground>
    <VideoBrush SourceName="video1"></VideoBrush>
    </TextBlock.Foreground>
    </TextBlock>
    <MediaElement Name="video1" Visibility="Collapsed" Source="1.wmv" HorizontalAlignment="Left" Height="100" Margin="71,100,0,0" VerticalAlignment="Top" Width="100"/>
    
     

    (15)回顾一下,这五种画刷

    说明:
    SolidColorBrush 纯色画刷
    LinearGradientBrush 线型渐变画刷
    RadialGradientBrush 径向渐变画刷
    ImageBrush 图片画刷
    VideoBrush 视频画刷

  • 相关阅读:
    js 使用${}解析变量代替++
    laravel 返回自定义错误
    Java集合之HashMap源码解析
    Java集合之ArrayList源码解析
    Java集合之LinkedList源码解析
    保证消息可靠性传输以及幂等性
    Java分布式系统---消息中间件
    Java中的日期与时间
    Java时区问题
    数据测试002:利用Jmeter推送测试数据(上)
  • 原文地址:https://www.cnblogs.com/huaci/p/4398408.html
Copyright © 2020-2023  润新知