天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一步一步學Silverlight :使用Brush進行填充

概述

Silverlight 2 Beta 1版本發布了,無論從Runtime還是Tools都給我們帶來了很多的驚喜,如支持框架語言Visual Basic, Visual C#, IronRuby, IronPython,對JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步學Silverlight 2系列》文章將從Silverlight 2基礎知識、數據與通信、自定義控件、動畫、圖形圖像等幾個方面帶您快速進入Silverlight 2開發。

本文將簡單介紹Silverlight中的畫刷,在Silverlight中,共提供了五種:SolidColorBrush、LinearGradientBrush、RadialGradientBrush、ImageBrush、VideoBrush,接下來將逐一進行介紹。

SolidColorBrush

SolidColorBrush用單一的顏色進行填充, 在使用SolidColorBrush時只要指定Color屬性就可以了,除此之外,還可以選擇指定Opacity等屬性。在我們使用其他圖形時,如果指定了Fill屬性,則默認會用SolidColorBrush進行填充。下面的示例,使用SolidColorBrush填充兩個矩形:

<Canvas Background="#CDFCAE">    <Rectangle Canvas.Top="60" Canvas.Left="20"               Width="200" Height="100" Stroke="Green"               StrokeThickness="2">        <Rectangle.Fill>            <SolidColorBrush Color="Orange">            </SolidColorBrush>        </Rectangle.Fill>    </Rectangle>    <Rectangle Canvas.Top="60" Canvas.Left="280"               Width="200" Height="100" Stroke="Green"               StrokeThickness="2">        <Rectangle.Fill>            <SolidColorBrush Color="Orange"                             Opacity="0.5">            </SolidColorBrush>        </Rectangle.Fill>    </Rectangle></Canvas>

運行后如下所示:

TerryLee_Silverlight2_0129 

LinearGradientBrush

LinearGradientBrush將會使用線性漸變來進行填充,需要設置漸變的坐標:起始點屬性StartPoint和結束點EndPoint,兩點的坐標最大值為1,最小值為0,用GradientStop來設置不同的顏色漸變以及它的偏移量。如下面的例子:

<Canvas Background="#FFFFFF">    <Rectangle Canvas.Top="40" Canvas.Left="100"           Width="300" Height="160" Stroke="Green"           StrokeThickness="4">        <Rectangle.Fill>            <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">                <GradientStop Color="#FBFE03" Offset="0.0" />                <GradientStop Color="#41F702" Offset="0.25" />                <GradientStop Color="#FF0000" Offset="0.75" />                <GradientStop Color="#0066FF" Offset="1.0" />            </LinearGradientBrush>        </Rectangle.Fill>    </Rectangle></Canvas>

運行后如下圖所示:

TerryLee_Silverlight2_0130

下面我們對漸變的坐標以及各個顏色漸變的偏移量做一下解釋,如下圖所示:

TerryLee_Silverlight2_0131

設置不同的漸變起始點和偏移量我們可以得到多種不同的漸變效果,如下面的示例:

<Canvas Background="#FFFFFF">    <Rectangle Canvas.Top="80" Canvas.Left="20"           Width="120" Height="80" Stroke="Green"           StrokeThickness="4">        <Rectangle.Fill>            <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">                <GradientStop Color="#FBFE03" Offset="0.0" />                <GradientStop Color="#41F702" Offset="0.25" />                <GradientStop Color="#FF0000" Offset="0.75" />                <GradientStop Color="#0066FF" Offset="1.0" />            </LinearGradientBrush>        </Rectangle.Fill>    </Rectangle>    <Rectangle Canvas.Top="80" Canvas.Left="160"           Width="120" Height="80" Stroke="Green"           StrokeThickness="4">        <Rectangle.Fill>            <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">                <GradientStop Color="#FBFE03" Offset="0.0" />                <GradientStop Color="#41F702" Offset="0.25" />                <GradientStop Color="#FF0000" Offset="0.75" />                <GradientStop Color="#0066FF" Offset="1.0" />            </LinearGradientBrush>        </Rectangle.Fill>    </Rectangle>    <Rectangle Canvas.Top="80" Canvas.Left="300"           Width="120" Height="80" Stroke="Green"           StrokeThickness="4">        <Rectangle.Fill>            <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">                <GradientStop Color="#FBFE03" Offset="0.0" />                <GradientStop Color="#41F702" Offset="0.25" />                <GradientStop Color="#FF0000" Offset="0.75" />                <GradientStop Color="#0066FF" Offset="1.0" />            </LinearGradientBrush>        </Rectangle.Fill>    </Rectangle></Canvas>

運行后如下圖所示:

TerryLee_Silverlight2_0132 

RadialGradientBrush

RadialGradientBrush使用放射性漸變來進行顏色填充,用GradientOrigin來指定放射源的位置坐標,Center指定圖形的中心位置坐標,RadiusX和RadiusY分別指定在X軸和Y軸上的放射半徑,同樣使用GradientStop指定不同顏色的漸變及偏移量,如下面的例子:

<Canvas Background="#CDFCAE">    <Ellipse Canvas.Top="30" Canvas.Left="100"             Width="300" Height="180">        <Ellipse.Fill>            <RadialGradientBrush GradientOrigin="0.5,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>        </Ellipse.Fill>    </Ellipse></Canvas>

運行后如下所示:

TerryLee_Silverlight2_0133

在這個示例中,對于上面提到的放射源位置的坐標和圖形中心坐標、在X軸和Y軸上的放射半徑它們四個之間的關系,大家看下面四個圓形,我們為四個屬性設置不同的值:

<Canvas Background="#CDFCAE">    <Ellipse Canvas.Top="20" Canvas.Left="80"             Width="120" Height="120">        <Ellipse.Fill>            <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5"                                RadiusX="0.5" RadiusY="0.5">                <GradientStop Color="#FFFFFF" Offset="0.0" />                <GradientStop Color="#000000" Offset="1.0" />            </RadialGradientBrush>        </Ellipse.Fill>    </Ellipse>    <Ellipse Canvas.Top="20" Canvas.Left="280"             Width="120" Height="120">        <Ellipse.Fill>            <RadialGradientBrush GradientOrigin="0.75,0.25" Center="0.5,0.5"                                RadiusX="0.5" RadiusY="0.5">                <GradientStop Color="#FFFFFF" Offset="0.0" />                <GradientStop Color="#000000" Offset="1.0" />            </RadialGradientBrush>        </Ellipse.Fill>    </Ellipse>    <Ellipse Canvas.Top="160" Canvas.Left="80"             Width="120" Height="120">        <Ellipse.Fill>            <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5"                                RadiusX="0.25" RadiusY="0.5">                <GradientStop Color="#FFFFFF" Offset="0.0" />                <GradientStop Color="#000000" Offset="1.0" />            </RadialGradientBrush>        </Ellipse.Fill>    </Ellipse>    <Ellipse Canvas.Top="160" Canvas.Left="280"             Width="120" Height="120">        <Ellipse.Fill>            <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5"                                RadiusX="0.5" RadiusY="0.25">                <GradientStop Color="#FFFFFF" Offset="0.0" />                <GradientStop Color="#000000" Offset="1.0" />            </RadialGradientBrush>        </Ellipse.Fill>    </Ellipse></Canvas>

運行后的效果如下所示,在圖上標注了他們各自的放射源位置坐標、中心位置坐標、X軸上和Y軸上的放射半徑。

TerryLee_Silverlight2_0134

ImageBrush

ImageBrush使用圖片來對圖形進行填充,使用方式比較簡單,我們只需要指定ImageSource屬性就可以了,如下面的例子使用圖片來填充一個矩形:

<Canvas Background="#CDFCAE">    <Rectangle Canvas.Top="40" Canvas.Left="100"       Width="300" Height="160" Stroke="Green"       StrokeThickness="4" RadiusX="10" RadiusY="10">        <Rectangle.Fill>            <ImageBrush ImageSource="bg1.png"></ImageBrush>        </Rectangle.Fill>    </Rectangle></Canvas>

運行后效果如下所示:

TerryLee_Silverlight2_0135 

對于圖片我們后面會有專門一篇文章進行講解,這里就不再說明。

結束語

本文簡單介紹了Silverlight中的Brushes,這些Brushes對于自定義控件的外觀或者做出更酷更炫的界面效果,將會有很大的幫助。

NET技術一步一步學Silverlight :使用Brush進行填充,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 果冻传媒9CM在线观看 | 少妇高潮A视频 | 国产在线观看成人免费视频 | yellow免费观看完整版直播 | 黑人 尺寸 强行害怕 痛哭 | 末班车动漫无删减免费 | 欧美又粗又长又大AAAA片 | 无人区免费一二三四乱码 | WWW亚洲精品久久久无码 | 久久香蕉国产线看观看精品 | 99久视频只有精品2019 | 麻豆国产99在线中文 | 99热免费精品店 | 青青草原影视 | 最新无码国产在线视频9299 | 亲嘴扒胸摸屁股视频免费网站 | 征服丝袜旗袍人妻 | 猪蜜蜜网站在线观看电视剧 | 中国明星16xxxxhd | www.一级毛片 | 亚洲欧美成人无码久久久 | 69人体阴展网 | 十八禁啪啦啪漫画 | 欧美阿v天堂视频在99线 | 丰满的寡妇hd高清在线观看 | 污污内射久久一区二区欧美日韩 | 欧美午夜免费观看福利片 | 无码人妻精品一区二区蜜桃在线看 | 无人影院在线播放视频 | 1级午夜影院费免区 | 人妻换人妻AA视频 | 国产 日韩 欧美 综合 激情 | 日韩人妻双飞无码精品久久 | 国产永不无码精品AV永久 | 热九九99香蕉精品品 | 亚洲国产精品一区二区第一页 | 国产成人女人视频在线观看 | 黄色三级网站在线观看 | jiz中国zz | 影音先锋电影资源av | 韩国羞羞秘密教学子开车漫书 |