zoukankan      html  css  js  c++  java
  • SilverLight 学习笔记 (一) 画刷:Brush

    1. 线性渐变画刷(LinearGradientBrush/GradientStop)

      线性渐变画刷 : 沿一条直线定义渐变区域,该直线称之为“渐变轴”,可以指定多个颜色对对象进行填充。根据设置的起始点和结束点的不同,可以实现水平渐变、垂直渐变和对角渐变等效果。

      主要成员 :

        a. StartPoint : 线性渐变起始点,如 (0,0.5) ,对象最左侧边框中间位置,第一个数字代表X 轴的位置,第二个数字代表Y轴的位置

        b. EndPoint : 线性渐变结束点 ,参见 StartPoint

        c. Color: 填充的颜色,可以为命名颜色(如:Red)、6 个或 8个字符的十六进制标示 (如:FFFFFF)

        d. OffSet:获取渐变停止点在渐变向量中的位置。通俗的说,就是该颜色在对象中 完全显示的位置,在完全显示的位置两侧,都为渐变
           的。如(0.75),在对象的 3/4 处 达到该颜色的饱和值。

     

    <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <GradientStop Color="#FFFFFF" Offset="0.0" /> <GradientStop Color="#00FF00" Offset="0.25" /> <GradientStop Color="#FF0000" Offset="0.75" /> <GradientStop Color="#0099FF" Offset="1.0" /> </LinearGradientBrush>

    2. 径向渐变画刷(RadialGradientBrush/GradientStop)

      径向渐变画刷: 渐变轴是一个圆,并以它的原点为放射源,以放射状从圆心向外发散的方式进行渐变。使用径向渐变绘制区域。焦点定义渐变的开始,而圆定义渐变的终点(MSDN)。

      通俗的理解为:对一个对象进行多种颜色填充渐变,填充颜色的渐变是从一点(圆心 - Center)到四周发散的,即为圆形渐变的。同时,渐变区域,即 圆,为渐变的区域。对于径向渐变,需要理解3点:

        a. 渐变区域:即为渐变圆,渐变的大小就是圆的大小。

        b. 渐变起始点(焦点-GradientStop):即在该圆的何点开始颜色渐变。

        c. 渐变位置(圆心-Center):要确定渐变的位置(圆的位置),只要确定圆心(Center),即控制圆心的。

      主要成员 :

        a. GradientStop: 获取或定义渐变开始的二维焦点的位置。及用一点来确定放射源在放射区域(圆)中的位置,如(0.5,0.5)

        b. Center: 渐变区域(渐变圆)的位置(圆心),为二维焦点,如(0.5,0.5)

        c. Color: 填充的颜色(渐变色),可以为命名颜色(如:Red)、6 个或 8个字符的十六进制标示 (如:FFFFFF)

        d. OffSet:获取渐变停止点在渐变向量中的位置。通俗的说,就是该颜色在对象中 完全显示的位置,在完全显示的位置两侧,都为渐变
            的。如(0.75),在对象的 3/4 处 达到该颜色的饱和值。

        e. RadiusX :渐变圆的X轴放射半径。从圆心到所要填充对象最近的Border,即为直径的1/2,所以,0.5 就是最大值

        f. RadiusY :渐变圆Y轴放射半径


    <RadialGradientBrush GradientOrigin="0.25,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> <GradientStop Color="#FBFE03" Offset="0.0" /> <GradientStop Color="#41F702" Offset="0.25" /> <GradientStop Color="#FF0000" Offset="0.75" /> <GradientStop Color="#0066FF" Offset="1.0" /> </RadialGradientBrush>

    请注意下行代码:

    <GradientStop Color="#0066FF" Offset="1.0" />

       由于Color = 0066FF 的 Offset 为1.0 ,所以该颜色为渐变区域的临界色,只有在渐变区域的临界处才达到该颜色的饱和值,渐变区域以外的区域若无特殊指定,都将会为该颜色所填充。也可以裂解为该颜色不属于渐变圆。

  • 相关阅读:
    [原创]二路归并排序针对数组的场景(C++版)
    [原创]装饰模式(java版)
    [原创]Java中Map根据值(value)进行排序实现
    [原创]适配器模式(java版)
    信了你的邪
    String和Date转换
    电商运营面试题
    springCloud发送请求多对象参数传递问题
    JS实现页面以年月日时分秒展示时间
    java三种注释以及参数涵义(转)
  • 原文地址:https://www.cnblogs.com/xunziji/p/1662293.html
Copyright © 2011-2022 走看看