1. 程式人生 > >WPF-WPF BitmapEffect (按鈕凹凸效果)

WPF-WPF BitmapEffect (按鈕凹凸效果)

jpg height lib tps city lang down 技術 follow

原文:WPF-WPF BitmapEffect (按鈕凹凸效果)

BitmapEffect位圖效果是簡單的像素處理操作。它可以呈現下面幾種特殊效果。?

????????? ? BevelBitmapEffect ???????凹凸效果
????????????
BlurBitmapEffect ????????模糊效果
????????????
DropShadowBitmapEffect投影效果
???????????
?EmbossBitmapEffect ????浮雕效果
????????????
OuterGlowBitmapEffect ??顏色光暈效果

BevelBitmapEffect

<Button.BitmapEffect>

??????????? <BevelBitmapEffect x:Name="testBevelBitmap"

??????????? ?? BevelWidth="20"

??????????? ?? EdgeProfile="CurvedIn"

??????????? ?? LightAngle="330"

??????????? ?? Relief="0.4"

??????????? ?? Smoothness="0.5" />

???????? </Button.BitmapEffect>

技術分享圖片

BevelBitmapEffect屬性BevelWidth

設置凹凸效果的寬度。默認值為 5

技術分享圖片

BevelBitmapEffect屬性EdgeProfile

設置凹凸效果的曲線。默認值為 Linear

技術分享圖片

?

BevelBitmapEffect屬性LightAngle

虛擬光源的方向。有效範圍是 0-360(度),0 表示物體的右側,後續值表示圍繞物體逆時針運動。凹凸效果陰影在光投射位置的相反一側。默認值為 135。

下圖顯示對於此屬性的給定值,光源的方向。凹凸效果陰影投射在光線角度的相反一側。

下圖演示該屬性的效果:

?

技術分享圖片

技術分享圖片

BevelBitmapEffect屬性Relief

凹凸效果起伏的高度。有效範圍在 0 和 1 之間,1 表示最大的起伏(最暗的陰影)。默認值為 0.3。

下圖演示該屬性的效果

技術分享圖片

BevelBitmapEffect屬性Smoothness

指示凹凸效果陰影的平滑程度的值。有效範圍在 0 和 1 之間,1 表示最平滑。默認值為 0.2。

技術分享圖片

?BlurBitmapEffect

<Button.BitmapEffect>

?? <BlurBitmapEffect x:Name="testBlurBitmapEffect"

?????? ?Radius="8"

??????? KernelType="Gaussian" />

</Button.BitmapEffect>

技術分享圖片

?BlurBitmapEffect屬性Radius

? 用於模糊內核的半徑。半徑越大,效果越模糊。默認值為 5

BlurBitmapEffect屬性KernelType

? 模糊內核的類型 Gaussian和Box。默認值為Gaussian

?

DropShadowBitmapEffect

<Button.BitmapEffect>

?? <DropShadowBitmapEffect?x:Name="testDropShadowBitmapEffect"?

?????????? Color="Blue"

???????? ?? ShadowDepth="20"

???????? ?? Noise="0.5"

???????? ?? Opacity="0.5"

???????? ?? Direction="330"/>

</Button.BitmapEffect>

技術分享圖片

DropShadowBitmapEffect屬性之Color

陰影的顏色。默認值為黑色

DropShadowBitmapEffect屬性之ShadowDepth

投影對象的平面與陰影平面之間的距離,值的有效範圍從 0 到 300。默認值為 5。

下圖演示該屬性的效果

技術分享圖片

?

DropShadowBitmapEffect屬性之Noise

陰影的噪音級別。值的有效範圍從 0 到 1。如果值為 0,則表示無噪音;如果值為 1,則表示最大噪音。如果值為 0.5,則表示 50% 噪音;如果值為 0.75,則表示 75% 噪音,依此類推。默認值為 0。

下圖演示該屬性的效果:

技術分享圖片

?

DropShadowBitmapEffect屬性之Opacity

不透明度。值的有效範圍從 0 到 1。如果值為 0,則表示陰影完全透明;如果值為 1,則表示陰影完全不透明。如果值為 0.5,則表示陰影不透明度為 50%;如果值為 0.725,則表示陰影不透明度為 72.5%,依此類推。小於 0 的值將被視為 0;大於 1 的值將被視為 1。默認值為 1。

下圖演示該屬性的效果:

技術分享圖片

?

DropShadowBitmapEffect屬性之Direction

投影角度。值的有效範圍從 0 到 360。如果值為 0,則方向緊貼對象的右側。後續值將繞對象沿逆時針方向移動方向。例如,如果值為 90,則表示陰影直接投射到對象的上方;如果值為 180,則陰影直接投射到對象的左側,依此類推。默認值為 315。

下圖顯示針對該屬性的給定值,陰影投射到的方向。註意:與LightAngle不同

下圖演示該屬性的效果:

技術分享圖片

技術分享圖片

?

?EmbossBitmapEffect

<Image.BitmapEffect>

???????? <EmbossBitmapEffect x:Name="testEmbossBitmapEffect"

???????? ?? LightAngle="120"

???????? ?? Relief="0.1" />

</Image.BitmapEffect>

技術分享圖片

EmbossBitmapEffect屬性之LightAngle

投射在浮雕效果對象上的人工光線的方向。有效範圍是 0-360(度),0 表示物體的右側,後續值表示圍繞物體逆時針運動。默認值為 45。

EmbossBitmapEffect屬性之Relief

浮雕的起伏大小。有效值範圍為 0-1,其中 0 起伏最小,1 起伏最大。默認值為 0.44。

??OuterGlowBitmapEffect

<TextBox.BitmapEffect>

????? <OuterGlowBitmapEffect x:Name="testOuterGlowBitmapEffect"

???????? ?? GlowColor="Red"

???????? ?? GlowSize="30"

???????? ?? Noise="0.5"? ???????? ?

???????? ?? Opacity="0.5" />

</TextBox.BitmapEffect>

技術分享圖片

OuterGlowBitmapEffect屬性之GlowColor

光環發光的顏色。默認值為白色

OuterGlowBitmapEffect屬性之GlowSize

光環發光的厚度,值的有效範圍從 1 到 199。默認值為 20。

OuterGlowBitmapEffect屬性之Noise

光環發光的粒度(噪音級別)。值的有效範圍從 0.0 到 1.0。如果值為 0.0,則表示無噪音;如果值為 1.0,則表示最大噪音。如果值為 0.5,則表示 50% 噪音;如果值為 0.75,則表示 75% 噪音,依此類推。默認值為 0.0。

OuterGlowBitmapEffect屬性之Opacity

發光的不透明度級別。如果值為 0,則表示光環發光完全透明;如果值為 1,則表示發光完全不透明。如果值為 0.5,則表示發光透明度為 50%;如果值為 0.725,則表示發光透明度為 72.5%,依此類推。小於 0 的值將被視為 0;大於 1 的值將被視為 1。默認值為 1。

WPF-WPF BitmapEffect (按鈕凹凸效果)