C# WPF中的模糊线几何

C# WPF中的模糊线几何,c#,wpf,C#,Wpf,我正在使用下面的代码绘制LineGeometry对象。但不知怎么的,我的线条变得模糊了。知道为什么会这样吗 public Window1() { InitializeComponent(); var x = 0; var y = 0; var n = 0; while (n<1000) { x = x + 20; if (x > 1200) { x = 0;

我正在使用下面的代码绘制
LineGeometry
对象。但不知怎么的,我的线条变得模糊了。知道为什么会这样吗

public Window1()
{
    InitializeComponent();

    var x = 0;
    var y = 0;
    var n = 0;

    while (n<1000)
    {
        x = x + 20;
        if (x > 1200)
        {
            x = 0;
            y = y + 20;
        }

        var l = new LineGeometry
        {
            StartPoint = new Point(x, y),
            EndPoint = new Point(x, y + 15)
        };
        MyGroup.Children.Add(l);

        n++;
    }

}


<Canvas x:Name="MyCanvas" Width="1200" Height="700">
        <Path x:Name="MyPath" Stroke="Wheat" SnapsToDevicePixels="True">
            <Path.Data>
                <GeometryGroup x:Name="MyGroup" >

                </GeometryGroup>
            </Path.Data>

        </Path>
</Canvas>
公共窗口1()
{
初始化组件();
var x=0;
var y=0;
var n=0;
而(n 1200)
{
x=0;
y=y+20;
}
var l=新的线条几何图形
{
起始点=新点(x,y),
端点=新点(x,y+15)
};
MyGroup.Children.Add(l);
n++;
}
}
以下是我得到的结果:
以下是我找到的解决方案:

XAML

<Window x:Class="LearnDrawing.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="700" Width="1200" Background="Black">
    <Grid>
        <Grid Width="1200" Height="700">
            <Path x:Name="MyPath">
                <Path.Data>
                    <GeometryGroup x:Name="MyGroup">
                    </GeometryGroup>
                </Path.Data>
            </Path>
        </Grid>
    </Grid>
</Window>

代码隐藏

var x = 0;
var y = 0;
var n = 0;
while (n < 1000)
{
    x = x + 20;
    if (x > 600)
    {
        x = 0;
        y = y + 20;
    }
    var myLineGeometry = new LineGeometry
    {
        StartPoint = new Point(x, y),
        EndPoint = new Point(x, y + 15)
    };

    MyGroup.Children.Add(myLineGeometry);
    n++;
}

MyPath.Stroke = Brushes.White;
MyPath.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);
MyPath.Data = MyGroup;
var x=0;
var y=0;
var n=0;
而(n<1000)
{
x=x+20;
如果(x>600)
{
x=0;
y=y+20;
}
var myLineGeometry=新的线型几何体
{
起始点=新点(x,y),
端点=新点(x,y+15)
};
MyGroup.Children.Add(myLineGeometry);
n++;
}
MyPath.Stroke=画笔.White;
设置值(RenderOptions.EdgeModeProperty,EdgeMode.Aliased);
MyPath.Data=MyGroup;
结果


@Henkholtman我更新了问题。左侧的线条模糊。请尝试在窗口上设置
UseLayoutRounding=“True”
。@DanBryant没有帮助。这使所有的线条都变得模糊。你之前的问题没有解决吗?WPF的设计假设这在今天不会成为问题。很遗憾,这没有发生,似乎只有喜欢访问当地苹果商店的程序员才会把钱花在他们需要的硬件上。WPF将永远被贴上“便宜”的标签。因为这就是它看起来的样子,没有人看到真正的问题。