【问题标题】:wpf Line stroke shown blurrywpf线条描边显示模糊
【发布时间】:2013-07-03 13:02:52
【问题描述】:

我在 VS 2013 预览版中制作了一个示例代码,我在画布内制作了一条笔触颜色为白色的线条,但线条显示得如此奇怪,就像更粗而不是白色(几乎是灰色)。 我在 VS 2010 中尝试过的相同示例,它的输出效果很好。

谁能告诉我发生了什么事...?

<Canvas Width="200" Height="200" Background="Black">
    <Line X1="30" Y1="60" X2="90" Y2="60" Stroke="White" StrokeThickness="1"/>
    <Line X1="60" Y1="30" X2="60" Y2="90" Stroke="White" StrokeThickness="1"/>
</Canvas>

//编辑 当我将线条粗细更改为 2 或更大时,它会显示完美的白色,但粗细为 2。

【问题讨论】:

  • 不确定是否是相同的情况,但有时,图像也会显示有点模糊。解决该问题的一种方法是使用窗口的 RenderOptions.BitmapScalingMode 属性,您可以在其中设置所需的质量。但话又说回来,这是我在处理模糊图像时遇到的问题,不确定相同的解决方案是否适用于您刚才描述的情况。

标签: wpf xaml line shape stroke


【解决方案1】:

这是我们的老朋友 Pixel Snapping。 WPF 将使用与ClearType 类似的技术在线条落在像素边界上时绘制线条。这就是你所看到的。它可能会在 VS 版本之间发生变化的原因是它们可以在不同的位置启动您的画布。

Dave Relyea has a cool Pixel Snapping Control 来帮助解决这些问题。

由于他的控件是为 Silverlight 制作的,因此出于 WPF 目的,我会将 UserControl 更改为 Decorator。只需将所有引用从 Content 更改为 Child。这样您就不必担心 ControlTemplate 会被其他人申请。

【讨论】:

    【解决方案2】:

    尝试将其向下移动 0.5 像素,这可能会有所帮助

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 2015-12-17
        • 2018-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-25
        • 1970-01-01
        • 2015-05-08
        • 1970-01-01
        相关资源
        最近更新 更多