WPF小例項 1 倒影效果

2022-02-20 13:02:32 字數 2390 閱讀 9102

先看效果圖:

效果沒有多麼的絢麗多彩,主要是因為本人能力有限,也是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"/>

下面給出這個倒影效果的**:

<

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

>

在textbox中的文字變化時,下面的倒影也會隨著變化

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...