轉(zhuǎn)帖|其它|編輯:郝浩|2010-09-27 14:15:45.000|閱讀 757 次
概述:在WPF中,使用BitmapEffect對(duì)所有Visual對(duì)象進(jìn)行位圖特效處理(比如文本,按鈕,圖像,甚至矩形、畫布等),它是基于像素級(jí)別的,而且是基于軟件處理模式而非硬件加速的處理模式。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在WPF中,使用BitmapEffect對(duì)所有Visual對(duì)象進(jìn)行位圖特效處理(比如文本,按鈕,圖像,甚至矩形、畫布等),它是基于像素級(jí)別的,而且是基于軟件處理模式而非硬件加速的處理模式。
BitmapEffect在控件渲染時(shí)起作用,當(dāng)控件渲染時(shí),該Visual對(duì)象轉(zhuǎn)化成相應(yīng)的BitmapSource并作為BitmapEffect的輸入,顯示為經(jīng)過BitmapEffect處理后的效果。
我們可以對(duì)控件進(jìn)行以下幾種常見的位圖特效處理:
(1)虛化效果(BlurBitmapEffect)
(2)外輝光效果(OuterGlowBitmapEffect)
(3)陰影效果(DropShadowBitmapEffect)
(4)斜面特效(BevelBitmapEffect)
(5)浮雕特效(EmbossBitmapEffect)
由于軟件處理模式的效率相對(duì)較低,在有大量Visual對(duì)象或在有大量動(dòng)畫時(shí)慎用,此時(shí)你必須在效果與效率之間做一個(gè)相對(duì)的平衡。
下面先看看虛化效果:
上圖:
第一個(gè)按鈕是未經(jīng)虛化的按鈕效果;
第二個(gè)按鈕是當(dāng)Radius="1"時(shí)的效果;
第三個(gè)按鈕是當(dāng)Radius="2"時(shí)的效果;
這是XAML代碼:
<Button Width="200" Height="30" Content="這是未虛化的按鈕" Canvas.Left="24" Canvas.Top="8"/>
<Button Width="200" Height="30" Content="這是虛化了的按鈕(Radius=1)" Canvas.Top="47" Canvas.Left="24">
<Button.BitmapEffect>
<BlurBitmapEffect Radius="1" KernelType="Box" />
</Button.BitmapEffect>
</Button>
<Button Width="200" Height="30" Content="這是虛化了的按鈕(Radius=2)" Canvas.Top="87" Canvas.Left="24">
<Button.BitmapEffect>
<BlurBitmapEffect Radius="2" KernelType="Box" />
</Button.BitmapEffect>
</Button>
再來看看外發(fā)光效果(輝光效果):
上圖:
第一個(gè)是對(duì)TextBox的做了細(xì)微外發(fā)光特效處理的顯示效果(參數(shù)值為:GlowColor="Blue" GlowSize="4" Noise="0.3" Opacity="0.4");
第二個(gè)對(duì)TextBox的外發(fā)光效果"力度比較大",我們發(fā)現(xiàn)效果非常明顯(參數(shù)值:GlowColor="Blue" GlowSize="30" Noise="1" Opacity="0.4")。
這是相應(yīng)的XAML代碼:
<TextBox Width="200" Canvas.Left="24" Canvas.Top="141">
<TextBox.BitmapEffect>
<OuterGlowBitmapEffect GlowColor="Blue" GlowSize="4" Noise="0.3" Opacity="0.4" />
</TextBox.BitmapEffect>
</TextBox>
<TextBox Width="200" Canvas.Left="24" Canvas.Top="194">
<TextBox.BitmapEffect>
<OuterGlowBitmapEffect GlowColor="Blue" GlowSize="30" Noise="1" Opacity="0.4" />
</TextBox.BitmapEffect>
</TextBox>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載