none
大神们进来看看吧,WPF BlueEffect的效果被虚化的问题 RRS feed

  • 问题

  • 在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




    2016年2月2日 13:43

答案

  • 您好 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.

    2016年2月23日 8:39
    版主

全部回复

  • 您好 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.

    2016年2月4日 6:39
    版主
  • 我也不知道为什么图片贴不上,说没验证,发的消息不能有照片和链接,但我已经邮件验证过了的。

    需要实现的效果是有圆角,有阴影,Rectangle内填充的图片要带模糊效果,但目前图片带模糊效果就会没有圆角,并且填充的图形边缘也会被缩小并且虚化。

    代码基本如下:

    <Grid>

    <Border CornerRadius="10">

    <Rectangle RadiusX="10" RadiusY="10">

    <Rectangle.Fill>

    <ImageBrush ImageSource="Win10Background.jpg"/>

    </Rectangle.Fill>

    </Rectangle>

    </Border>

    </Grid>

    2016年2月4日 15:39
  • 您好 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.

    2016年2月23日 8:39
    版主