探討 Silverlight XAML 橢圓形圖案物件(1/4)

摘要:探討 Silverlight XAML 橢圓形圖案物件(1/4)

建立橢圓形圖案物件的 XAML 語法列示如下:


 

屬性 x:Name 用來指定橢圓形所代表的名稱。欲在 Microsoft Expression Blend 2 中指定橢圓型物件的名稱,請在「Properties」索引標籤裡的「Name」欄位中,鍵入物件名稱(如圖表 1 所示)。或是在「Objects and Timeline」面板中展開並找到要指定名稱的物件,然後按下滑鼠右鍵並選擇「Rename」指令(如圖表 2 所示)。


圖表 1



圖表 2


屬性 Fill 用來取得或使用指定的 Brush(筆刷)來填滿圖案的內部。有下列 5 種類型的筆刷可供選擇:

q

SolidColorBrush

使用純色(SolidColor)來填充。說的更明白些,就是直接使用色彩名稱(例如:Yellow 或 Red)、16 進位的 8 位數表示法(#aarrggbb)、6 位數表示法(#rrggbb)、4 位數表示法(#argb)或 3 位數表示法(#rgb)來填充。位數表示法中的 a 代表 Alpha 值,是用來描述色彩的透明度,r 用來描述色彩中的紅色數量,g 用來描述色彩中的綠色數量,b 則是用來描述色彩中的藍色數量。

 

q

LinearGradientBrush

以線性漸層的方式來填充。

 

q

RadialGradientBrush

以放射漸層的方式來填充。

 

q

ImageBrush

使用影像來填充。

 

q

VideoBrush

使用視訊來填充。

屬性 Stroke 取得或決定使用何種 Brush(筆刷)來繪製圖案的外框。Stroke 屬性與 Fill 屬性一樣,可以使用 5 種不同類型的筆刷。一般來說,在指定屬性 Stroke 時,會順便指定屬性 StrokeThickness,以便決定外框的粗細(或稱為寬度)。當您沒有指定屬性 StrokeThickness 時,Silverlight 會自動將 StrokeThickness 屬性設定為 1.0

屬性 OpacityMask 用於取得或決定物件呈現透明的效果,這個透明效果是由筆刷的色彩與透明度來決定。將 OpacityMask 屬性設定成不透明,物件就會呈現不透明;將 OpacityMask 屬性設定成透明,橢圓形物件就會呈現透明的效果。於實務運用上,我們會使用屬性 OpacityMask 搭配線性漸層筆刷或放射漸層筆刷來讓物件呈現光暈的效果。或是搭配動畫讓物件隨時間改變其 OpacityMask 屬性,製造出翻頁的效果。

如圖表 3 所示,請在 Microsoft Expression Blend 2 中,按下「Properties」索引標籤,接著展開「Brushes」面板,於此處指定物件的 FillStroke、與 OpacityMask 屬性。請大家特別注意,透過這種方便的操作方式,我們僅能替物件套用 SolidColorBrush(純色筆刷)LinearGradientBrush(線性漸層筆刷)RadialGradientBrush(放射漸層筆刷)這三種筆刷中的其中一種。


圖表 3


Blend 2 提供多種方式方便我們調整色彩,比方說,在代表顏色的字母欄位中,鍵入 0 ~ 255 的數字;在 Alpha 欄位中,鍵入 0 ~ 100 的數字。或是當滑鼠游標呈現四個方向箭形的「數字調整」 時, 請按下滑鼠左鍵不放,接著往左或往右拖曳滑鼠來調整數值。此外,也可以直接在色彩編輯器上,按下滑鼠左鍵即可變更色調(Hue)、亮度 (Lightness)、飽和度(Saturation)以及紅色、綠色、藍色的色彩數量。如果要快速調整色調,請使用滑鼠移動位於色彩編輯器右側的垂直 滑桿來調整色調,接著在色彩編輯器中選取所欲使用的色彩。

於選用漸層筆刷之後,可以按下「Linear gradient」圖示  與「Radial gradient」圖示  來變更漸層筆刷的種類。在預設狀態下,漸層滑桿的左右兩側會出現「停駐點」圖示 ,您可以變更每個停駐點的色彩。如圖表 4 所示,當停駐點變成黑色圖示  時,表示這個停駐點正被選取,此時我們可以透過先前解說的方法來調整該停駐點的色彩。



圖表 4


如欲新增停駐點,請直接在漸層滑桿上,按一下滑鼠左鍵,便可以在漸層滑桿上新增任意數目的停駐點。如果要移除停駐點,只需先選取不要的停駐點,接著將它從漸層滑桿的底端往下拖出,就可以輕易地移除這個停駐點。要提醒大家的是,由於漸層筆刷至少需要兩種色彩,因此我們無法移除位於漸層滑桿上的最後兩個停駐點,但是這兩個停駐點可以具備相同的色彩(亦即這兩個停駐點位於相同的漸層滑桿位置上,此時所呈現的色彩效果就跟純色筆刷一樣),除此之外,往漸層滑桿頂端方向拖出停駐點,並不會移除該停駐點。



圖表 5

如圖表 5 所示,在 Blend 2 中,當按下左側「工具箱」「Brush Transform」(筆刷轉換)圖示  之後,物件上方就會出現一條藍色漸層筆刷轉換箭形,可以使用滑鼠並搭配鍵盤按鍵替線性與放射漸層進行移動、旋轉、歪斜或調整放射漸層區域的大小…等操作,以便製造出不同的漸層筆刷效果:

q

如果要移動漸層筆刷轉換箭形,請將滑鼠移至物件內部,當滑鼠游標變成「空心的四向箭形」 或「移動」 時,便可任意拖曳滑鼠來移動線性漸層筆刷或放射漸層筆刷的套用位置。

 

q

如果要旋轉線性漸層筆刷,請將指標移至漸層筆刷轉換箭形任一端的外面,當滑鼠指標變成「旋轉控制點」
時,拖曳滑鼠來旋轉至適當的角度。

如果您希望在旋轉物件時,以每次遞增或遞減 15 度的方式來旋轉物件,請先按住 SHIFT 鍵不放,然後再拖曳滑鼠進行旋轉操作。

如果您要回覆線性漸層筆刷原本預設的旋轉狀態,請在漸層筆刷轉換箭形的任一端點上,連按兩下滑鼠左鍵。

 

q

如果要旋轉放射漸層筆刷,請將滑鼠移至代表放射漸層筆刷所在區域的藍色邊框上,四個角落之任一個角的外面,當滑鼠指標變成「旋轉控制點」 時,拖曳滑鼠來旋轉至適當的角度。

如果您希望在旋轉物件時,以每次遞增或遞減 15 度的方式來旋轉物件,請先按住 Shift 鍵不放,然後再拖曳滑鼠進行旋轉操作。

如果您要回覆放射漸層筆刷原本預設的旋轉狀態,請在漸層筆刷轉換箭形的任一端點上,連按兩下滑鼠左鍵。

 

q

如果要歪斜(Skew)放射漸層筆刷,請將滑鼠移至代表放射漸層筆刷所在區域的藍色邊框上,四個邊線之中間控制點的外面,當滑鼠指標變成「歪斜控制點」 或  時,拖曳滑鼠來歪斜至適當的程度。

 

q

如果要調整放射漸層筆刷區域的大小,請將滑鼠移至代表放射漸層筆刷所在區域的藍色邊框上,四個邊線與四個角落的任一個控制點上,當滑鼠指標變成「大小控制點」  或 時,拖曳滑鼠來調整至適當的大小。

此外,您也可以將滑鼠移至漸層筆刷轉換箭形箭頭處,當滑鼠指標變成手指狀  時,即可拖曳滑鼠來調整至適當的大小。

於調整放射漸層筆刷區域的大小時,同時按住 Shift 鍵,可以限制物件維持固定的比例;如果同時按住 Alt 鍵,便可以讓中心點所在位置不動。您當然可以同時按住 ShiftAlt 鍵,然後調整放射漸層筆刷區域的大小。

 

q

如果要延伸線性漸層筆刷,請拖曳漸層筆刷轉換箭形任一端點。如果同時按住 Shift 鍵,可以確保延伸線性漸層筆刷時,漸層筆刷轉換箭形不會改變其方向。或是先按住 Alt 鍵不放,然後拖曳漸層筆刷轉換箭形任一端點以便讓中心點保持不動。


如果要延伸放射漸層筆刷,請拖曳漸層筆刷轉換箭形箭尾

 

q當線性漸層筆刷的漸層筆刷轉換箭形之長度短於物件的長度,或是放射漸層筆刷所在區域的大小,小於物件所在區域的大小,如果不使用「Brushes」面板下方的「Options」按鈕裡預設的「Pad」(填補)選項,而改用「Reflect」(反射)或「Repeat」(重複)選項,並搭配「Absolute」(絕對)或「Bounding Box」(邊界盒)選項可以形成不同的波狀漸層效果(如圖表 6 所示)。


 圖表 6

    附註:
 「Pad」選項會依照所選用的色彩來填補漸層,「Reflect」選項會建立漸層填滿的鏡像,而「Repeat」選項則會重複漸層填滿。圖表 7 是替一個橢圓形物件套用線性漸層筆刷,並選用不同的漸層選項所呈現的結果。圖表 8 是替放射漸層筆刷套用「Absolute」選項,然後再套用不同選項後,橢圓形物件所呈現的外觀。圖表 9 是替放射漸層筆刷套用「Bounding Box」選項,然後再套用不同選項後,橢圓形物件所呈現的外觀。

我們發現使用「Absolute」「Bounding Box」選項,只會影響已經套用放射漸層筆刷的物件,也就是說,替線性漸層筆刷套用不同選項後,不論搭配「Absolute」「Bounding Box」選項皆會產生相同的漸層效果。


圖表 7




圖表 8




圖表 9