先看效果圖:
效果沒有多麼的絢麗多彩,主要是因為本人能力有限,也是wpf的初學者,在wpf的開發過程中,容易控制不住自己的"藝術細胞",總會有某種衝動去做一些效果,所以在今後的時間裡我會一邊學,一邊記錄這些常用的,自己做過的一些wpf的效果的例項,一.是為了記錄下來,以後方便查閱;二是為了和大傢伙分享一下. 言歸正傳:
這個效果主要用到了: visualbrush,opacitymask,rendertransform
visualbrush:msdn上說的很簡單:使用 visual 繪製區域.實際上就是把visual物件繪製到乙個區域內
opacitymask:是乙個不透明蒙板的畫筆。看到這個大家可能想起opacity屬性,後面例子說明.
rendertransform:是指乙個元素旋轉的資訊.
先說opacitymask和opacity,opacitymask的值是brush型別的,而opacity是double型別的,從這點可以看出,opacity只是通過乙個double的值來調節透明度,而opacitymask是通過乙個brush畫刷來調節的,在上圖的倒影部分,有乙個從下到上的漸變效果,用的是lineargradientbrush,使得opacitymask從乙個透明色漸變到乙個純色的效果.
button1:用opacity設定的,所以比較均勻.
opacity="0.5"button2:用opacitymask設定,說實話,效果有點差勁
0,1" endpoint="1,0">0.0" color="blue"/>
1" color="transparent"/>
button3:直接用了lineargradientbrush,將其第二個顏色設定為transparent,感覺效果不錯.比第二個好,呵呵
0,1" endpoint="1,0">下面給出這個倒影效果的**:0.0" color="blue"/>
1" color="transparent"/>
<在textbox中的文字變化時,下面的倒影也會隨著變化grid
>
<
grid.rowdefinitions
>
<
rowdefinition
/>
<
rowdefinition
/>
grid.rowdefinitions
>
<
textbox
grid.row="0"
name="txt"
fontsize="30"
horizontalcontentalignment="center"
>反射效果
textbox
>
<
rectangle
grid.row="1"
rendertransformorigin="1,0.5"
margin="0,0,0,1"
>
<
rectangle.fill
>
<
visualbrush
visual=""
/>
rectangle.fill
>
<
rectangle.opacitymask
>
<
lineargradientbrush
startpoint="0,0"
endpoint="0,1"
>
<
gradientstop
offset="0.2"
color="transparent"
/>
<
gradientstop
offset="0.9"
color="black"
/>
lineargradientbrush
>
rectangle.opacitymask
>
<
rectangle.rendertransform
>
<
scaletransform
scaley="-1"
/>
rectangle.rendertransform
>
rectangle
>
grid
>
ASE例項1 熔岩效果
乙個入門級的uv移動 材質疊加 sin時間,形成的熔岩明暗交替流動效果 要點 1.texturecoordinates,紋理座標,為uv uv 縮放 偏移,控制uv的縮放和偏移 2.panner節點,uv控制器,為uv uv speed.xy time,常用於uv隨著時間發生變化 生成 shader...
canva實踐小例項 馬賽克效果
前面給大家帶來了操作畫素的api,此時此刻,我覺得應該配以小例項來進行進一步的說明和演示,以便給大家帶來更寬廣的視野和靈感,你們看了我的那麼多的文章,應該是懂我的風格,廢話不多說,進入正題 大家看看這張圖,這就是馬賽克的效果,整個圖就是一顆顆很大的畫素點構成的,當然這裡說的畫素點指的不是一畫素,而是...
WPF自帶的3D效果 學習筆記(1)
看了書 wpf程式設計寶典 使用c 2012和.net4.5 第四版 看到這個3d效果很棒,書上有些例子跑不通,網上查了一些原始碼,所以做個筆記。1.介面部分 hello,3d 2.邏輯部分 namespace 3dmodel2dui private void button click object...