积极答复者
大神们进来看看吧,WPF BlueEffect的效果被虚化的问题

问题
-
在WPF开发,Rectangle或Image等等控件,使用BlueEffect效果时会控件内四周被虚化,请问如何在不使用GDI+的条件下,实现高斯模糊效果,四周不会被虚化,图像也不能感觉到缩小并且不影响Rectangle圆角、阴影效果???
左窗是在未应用模糊效果前的效果,可见Rectangle设置了圆角,右窗是GDI+高斯模糊算法模糊的图像。
图片地址:https://social.msdn.microsoft.com/Forums/getfile/798130
下面对比图,左窗的Rectangle设置高斯模糊直径50后,圆角不见了,并且四周被虚化了,直径越大越被虚化。
图片地址:https://social.msdn.microsoft.com/Forums/getfile/798134
- 已编辑 Max903船长 2016年2月2日 20:15
答案
-
您好 Max903船长,
>> "但目前图片带模糊效果就会没有圆角,并且填充的图形边缘也会被缩小并且虚化。"
我使用以下代码来测试,模糊效果和圆角是可以共存的。可能是您设置的圆角角度比较小,不容易分辨出来。
<Grid> <Border CornerRadius="10"> <Rectangle RadiusX="50" RadiusY="50" > <Rectangle.Fill> <ImageBrush ImageSource="3.jpg"/> </Rectangle.Fill> </Rectangle> <Border.BitmapEffect> <BlurBitmapEffect Radius="30"/> </Border.BitmapEffect> </Border> </Grid>
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.- 已建议为答案 Xavier Xie-MSFTModerator 2016年3月1日 6:09
- 已标记为答案 Xavier Xie-MSFTModerator 2016年3月2日 6:45
全部回复
-
您好 Max903船长,
BlurBitmapEffect会将当前设置了BitmapEffect属性的控件进行模糊处理。 包括该控件的圆角和阴影。如果您只想要模糊控件的其中一部分,建议您将要展现的内容进行细分,并将BlurBitmapEffect应用到内层的控件上去。 比如原来将BlurBitmapEffect应到Button上,整个Button都会变模糊。 但如果将BlurBitmapEffect应用到Button Content内部的某个图片上,那么只有这个图片会变模糊,Button的圆角和阴影就不会受到影响。
另外,您提供的两个图片链接,已经失效。我无法通过图片来辨别您的确切需求。如果我的回复无法解决您的问题,建议您提供更多信息,比如代码或者图片。 有助于我们更加深入的讨论。
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey. -
我也不知道为什么图片贴不上,说没验证,发的消息不能有照片和链接,但我已经邮件验证过了的。
需要实现的效果是有圆角,有阴影,Rectangle内填充的图片要带模糊效果,但目前图片带模糊效果就会没有圆角,并且填充的图形边缘也会被缩小并且虚化。
代码基本如下:
<Grid>
<Border CornerRadius="10">
<Rectangle RadiusX="10" RadiusY="10">
<Rectangle.Fill>
<ImageBrush ImageSource="Win10Background.jpg"/>
</Rectangle.Fill>
</Rectangle>
</Border>
</Grid>
-
您好 Max903船长,
>> "但目前图片带模糊效果就会没有圆角,并且填充的图形边缘也会被缩小并且虚化。"
我使用以下代码来测试,模糊效果和圆角是可以共存的。可能是您设置的圆角角度比较小,不容易分辨出来。
<Grid> <Border CornerRadius="10"> <Rectangle RadiusX="50" RadiusY="50" > <Rectangle.Fill> <ImageBrush ImageSource="3.jpg"/> </Rectangle.Fill> </Rectangle> <Border.BitmapEffect> <BlurBitmapEffect Radius="30"/> </Border.BitmapEffect> </Border> </Grid>
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.- 已建议为答案 Xavier Xie-MSFTModerator 2016年3月1日 6:09
- 已标记为答案 Xavier Xie-MSFTModerator 2016年3月2日 6:45