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

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF-WPF BitmapEffect (按钮凹凸效果)相关的知识,希望对你有一定的参考价值。

原文: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 (按钮凹凸效果)的主要内容,如果未能解决你的问题,请参考以下文章

Wpf高亮图像?

在 WPF 中绘制到 DrawingContext 时如何应用投影效果?

东大oj1155 等凹函数

2017广东工业大学程序设计竞赛决赛 G 等凹数字

在 OpenCL 上通过凹多边形进行图像裁剪

OSG绘制空间凹多边形并计算其面积