代码之家  ›  专栏  ›  技术社区  ›  egoodberry

WPF阴影效应导致模糊

  •  11
  • egoodberry  · 技术社区  · 15 年前

    我观察到,偶尔对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

    3 回复  |  直到 10 年前
        1
  •  12
  •   Jobi Joy    15 年前

    对于这种情况,我要做的是放置一个背景矩形,并应用模糊效果,这样实际内容就不会受到影响,从而提高性能。因为当你将效果应用到一个视觉上时,所有随后的子对象也会得到应用的效果,这会导致性能和外观变差。试试下面

     <Grid>
      <Rectangle ....>
      <Rectangle.Effect>
         <DropShadowEffect />
      </Rectangle.Effect>
     </Rectangle>
    ....Your content ...
    </Grid>
    
        2
  •  1
  •   Kelly    13 年前

    您可以使用呈现质量来解决此问题。默认值对性能有偏差。只要这样做:

    <DropShadowEffect Color="#FFFD1E1E" ShadowDepth="0" RenderingBias="Quality"/>
    
        3
  •  0
  •   Jamaxack    10 年前

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

    <Image.Effect>
        <DropShadowEffect BlurRadius="0"/>
    </Image.Effect>
    
    推荐文章