自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows Phone開發(fā)(31):畫刷

移動開發(fā)
Windows Phone是微軟發(fā)布的一款手機(jī)操作系統(tǒng),它將微軟旗下的Xbox Live游戲、Xbox Music音樂與獨(dú)特的視頻體驗整合至手機(jī)中。

畫刷是啥玩意兒?哈,其實畫刷是用來涂鴉,真的,沒騙你,至于你信不信,反正我信了。

本文通過價紹幾個典型的畫刷,使你明白畫刷就是用來涂鴉的。

一、純色畫刷SolidColorBrush。

這個家伙比較“純”,當(dāng)然它不是裝純,的確很純,純到只用一種顏色,所以叫“單色畫刷”。

來,看看這個示例,我們畫一個矩形(放在一個Canvas中),然后用這個純家伙來打扮一下。

  1. <Rectangle Canvas.Left="5" Canvas.Top="130" Width="85" Height="75"
  2.     <Rectangle.Fill> 
  3.         <SolidColorBrush Color="White"/> 
  4.     </Rectangle.Fill> 
  5. </Rectangle> 

因為內(nèi)置有轉(zhuǎn)換器,微軟一向是關(guān)心開發(fā)者的身體健康的,所以,MS不舍得我們寫代碼的時候過多勞累,所以,上面的內(nèi)容可以簡寫為。

  1. <Rectangle Canvas.Left="110" Canvas.Top="156" 
  2.            Width="120" Height="120" Fill="Blue"/> 

這兩段代碼實現(xiàn)的效果是一樣的,很明顯,你會更喜歡后者,因為它簡練了N多。

接下來我們看看Color屬性有哪些表示方法。

1、名字,比如Blue,不用我翻譯了,明白了;

2、RGB,如#CCCCCC,如果你干過網(wǎng)頁設(shè)計,寫過CSS樣式,你懂的;

3、ARGB,如#0CBBBBBB,其實就是在前面加一個A值,0-1之間,透明度。

可以說,你記住了以上三點,你就可以寫出數(shù)不盡的顏色。

二、漸變畫刷。

如果你玩過像Photoshop這些繪圖軟件,或者你做過GDI編程,當(dāng)然你玩過WPF更好,簡直一模一樣。
漸變顏色,我們可以通俗地理解為:由N多種顏色組成,這些顏色有各自的分布主式,并且,在各段顏色之間都有一個過渡。

下面看看兩種漸變形式:線性和徑向。

(一)線性漸變

先看看下面的圖,相信沒有什么文字可以比圖片更直觀,相信你一看就知道何為線性漸變,只可意會啊。

好,上面的效果是如何實現(xiàn)的呢?用到這個類LinearGradientBrush??匆豢碭AML代碼。

  1. <Rectangle Canvas.Top="312" Canvas.Left="40" Width="278" Height="95"
  2.     <Rectangle.Fill> 
  3.         <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"
  4.             <GradientStop Color="Yellow" Offset="0"/> 
  5.             <GradientStop Color="Green" Offset="0.5"/> 
  6.             <GradientStop Color="Orange" Offset="1"/> 
  7.         </LinearGradientBrush> 
  8.     </Rectangle.Fill> 
  9. </Rectangle> 

其中,我們要關(guān)注幾個地方:
1、StartPoint,線性漸變的起始點,既然是線性了,肯定有始有終的了,X和Y都在0和1之間;
2、EndPoint,結(jié)束點,同樣,值范圍在0-1之間,包含0和1.
3、0,0點在左上角,1,1點在右下角。
每個LinearGradientBrush都可以包含N個GradientStop,表示每種顏色的終點位置,如下圖所示。

 

如果你還不是很理解,最好的法子就是多練習(xí)。

  1. <Ellipse Canvas.Top="465" Canvas.Left="40" Width="150" Height="120"
  2.     <Ellipse.Fill> 
  3.         <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"
  4.             <GradientStop Color="#FF8E8EE8" /> 
  5.             <GradientStop Color="#FFDBBC55" Offset="0.6" /> 
  6.             <GradientStop Color="#FF61DDF5" Offset="0.99" /> 
  7.         </LinearGradientBrush> 
  8.     </Ellipse.Fill> 
  9. </Ellipse> 

以上兩個例子的運(yùn)行效果如下圖所示。

(二)徑向漸變

名字不好理解,還是看圖寫作文吧。

怎么樣,美嗎?看看實現(xiàn)的XAML代碼吧。

  1. <Rectangle Canvas.Left="242" Canvas.Top="465" Width="150" Height="150"
  2.     <Rectangle.Fill> 
  3.         <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"
  4.             <GradientStop Color="Green" Offset="0.2"/> 
  5.             <GradientStop Color="LightBlue" Offset="0.7"/> 
  6.             <GradientStop Color="Yellow" Offset="1"/> 
  7.         </RadialGradientBrush> 
  8.     </Rectangle.Fill> 
  9. </Rectangle> 

看看,有幾個屬性比刺眼。

1、Center,中心點,你看到了,徑向漸變很像一個圓,有中心點,有半徑,同樣,取值范圍是[0,1]。

2、RadiusX和RadiusY,同理,范圍在[0,1],橫軸和縱軸上的半徑。

可以發(fā)現(xiàn)這些值都是相對的邏輯值,這樣使用比絕對位置更靈活。

三、視頻畫刷VideoBrush。

這個要配合MediaElement一起使用,在前面的文章中已經(jīng)介紹過。

四、圖象畫刷ImageBrush。

如果你覺得前面的都是用顏色的,不夠爽,不妨看看這個,用圖片來填充。

實現(xiàn)的XAML如下。

  1. <Ellipse Canvas.Left="40" Canvas.Top="445" Width="398" Height="248"
  2.     <Ellipse.Fill> 
  3.         <ImageBrush ImageSource="test.jpg"/> 
  4.     </Ellipse.Fill> 
  5. </Ellipse> 

這個就簡單了,ImageSource屬性就是指向一張圖片,使用方法與Image控件類似。

責(zé)任編輯:閆佳明 來源: oschina
相關(guān)推薦

2012-06-13 13:01:57

Windows Pho

2012-08-02 10:16:39

Windows Pho

2012-06-25 16:14:26

Windows Pho

2012-08-01 10:26:33

Windows Pho

2012-06-11 13:08:10

Windows Pho

2012-06-12 10:43:20

Windows Pho

2012-06-06 13:48:34

Windows Pho

2012-08-09 13:39:22

Windows Pho

2012-08-13 09:56:45

Windows Pho

2012-08-16 11:31:30

Windows Pho

2012-07-13 14:41:12

2012-06-20 10:21:50

Windows Pho

2012-06-07 09:33:13

Windows Pho

2012-06-19 09:31:53

Windows Pho

2012-07-24 10:15:34

Windows Pho

2012-06-21 10:59:31

Windows Pho

2012-07-11 09:21:35

Windows Pho

2012-07-31 09:44:27

Windows Pho

2013-07-30 12:37:56

Windows PhoWindows Pho

2012-06-29 14:13:10

點贊
收藏

51CTO技術(shù)棧公眾號