【问题标题】:WPF DropShadowEffect Causing BlurrinessWPF DropShadowEffect 导致模糊
【发布时间】:2009-11-06 15:39:14
【问题描述】:

我观察到对 UIElement 应用 DropShadowEffect 偶尔会导致 UIElement 的内容有点模糊。这是一个非常讨厌的效果:它可能会导致照片看起来失焦或更糟 - 使整个“弹出”区域完全难以辨认。

我没有看到其他人对此抱怨,所以我倾向于认为我做错了什么。

示例使用(随机模糊内容):

<Border>
   <Border.Effect>
      <DropShadowEffect />
   </Border.Effect>
   <!-- (Content) -->
</Border>

但删除 DropShadowEffect 会清除它:

<Border>
    <!--<Border.Effect>
            <DropShadowEffect />
        </Border.Effect>-->
    <!-- (Content) -->
</Border>

有什么想法吗?

编辑(添加截图):

alt text http://signmgmt.com/eg/dropshadowblur.png

【问题讨论】:

    标签: wpf styles dropshadow


    【解决方案1】:

    我对这种场景所做的就是放置一个背景矩形并为此应用模糊效果,这样真实的内容就不会受到这种效果的影响,从而提高了性能。因为当您将效果应用到视觉效果时,所有后续子项也都应用了效果,这使得性能和外观变差。试试下面的

     <Grid>
      <Rectangle ....>
      <Rectangle.Effect>
         <DropShadowEffect />
      </Rectangle.Effect>
     </Rectangle>
    ....Your content ...
    </Grid>
    

    【讨论】:

    • 谢谢你。我刚刚花了两个小时来追踪一个性能问题,我将其缩小为边界效应。我正在寻找一种解决方法并偶然发现了这一点。效果很好,再次感谢!
    【解决方案2】:

    您可以使用 RendingQuality 来解决此问题。默认值偏向于性能。只需这样做:

    <DropShadowEffect Color="#FFFD1E1E" ShadowDepth="0" RenderingBias="Quality"/>
    

    【讨论】:

      【解决方案3】:

      我不确定,但是 尝试将Image.EffectsBlurRadious 设置为0,默认为5,看看是否有帮助?

      <Image.Effect>
          <DropShadowEffect BlurRadius="0"/>
      </Image.Effect>
      

      【讨论】:

        猜你喜欢
        • 2013-12-26
        • 1970-01-01
        • 1970-01-01
        • 2014-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多