C# 即使应用了导向线集,垂直线也模糊
我正在自定义控件的C# 即使应用了导向线集,垂直线也模糊,c#,wpf,C#,Wpf,我正在自定义控件的OnRender方法中绘制一条垂直线。我应用了引导线集,使线与物理设备像素对齐。但线条仍然显得模糊,放大显示应用了抗锯齿。我做错了什么 protected override void OnRender(DrawingContext dc) { Pen axisPen = new Pen(Brushes.Black, 1); if (axisPen.CanFreeze) axisPen.Freeze(); double lineLengt
OnRender
方法中绘制一条垂直线。我应用了引导线集
,使线与物理设备像素对齐。但线条仍然显得模糊,放大显示应用了抗锯齿。我做错了什么
protected override void OnRender(DrawingContext dc)
{
Pen axisPen = new Pen(Brushes.Black, 1);
if (axisPen.CanFreeze)
axisPen.Freeze();
double lineLength = RenderSize.Height + 1;
double thick = axisPen.Thickness * 0.5;
GuidelineSet guidelines = new GuidelineSet();
guidelines.GuidelinesX.Add(thick);
dc.PushGuidelineSet(guidelines);
dc.DrawLine(axisPen, new Point(0, 0), new Point(0, lineLength));
dc.Pop();
}
您的显示器上的缩放设置是否为任何值?我看不出有什么问题,但我的是100%。WPF以96 dpi定义坐标,并在运行时将其缩放到更大的范围。我有两个监视器,但我一直在一个缩放设置为100%的监视器上进行测试。我还告诉Windows 10不要试图将模糊的应用程序弄清楚,以免搞砸。Windows 10上的多显示器、多DPI设置似乎存在某些问题,即使应用了指导原则,线条也会消除锯齿。我没有理清各种各样的情况。这也是针对.NET4.5的,它缺乏更高版本更好的多DPI支持。