搜尋此網誌

2009年11月10日 星期二

Silverlight:漸變顏色梯度

在Silverlight使用顏色梯度對元件的Fill屬性做設定已很平常,在效果的運用上,這裡介紹使物件漸淡的設定方法。



上圖由程式繪制出兩個<Rectangle>元件,其中一個使用線性漸變的顏色梯度設定,程式敘述如下:

<Grid x:Name="LayoutRoot">
  <Rectangle Width="200" Height="50" Fill="White"/>           
  <Rectangle Width="100" Height="100" Opacity="0.9" Grid.Row="1"
     Grid.Column="0" RadiusX="10" RadiusY="10">
    <Rectangle.RenderTransform>
      <TranslateTransform X="5" Y="-3"/>
    </Rectangle.RenderTransform>
    <Rectangle.Fill>
     <LinearGradientBrush EndPoint="0.7,0.5" StartPoint="0,0.5" >
       <GradientStop Color="#00000000" Offset="1"  />
       <GradientStop Color="#FF000000" Offset="0"/>
     </LinearGradientBrush>
    </Rectangle.Fill>
  </Rectangle>
</Grid>

這樣的設定,在元件可能被任意移動時,可做到將物件動態漸淡的效果。設定方法主要在顏色屬性的EndPointStartPoint數值、Color數值中Alpha值由FF至00互相調整,就能做到這樣的效果。(註:Alpha值指的即是 #FF000000中紅字部份的值)

沒有留言:

張貼留言