我正在使用Line类在WPF中的 Canvas 上绘制,即使我设置了StrokeThickness = 1
,该行也显示了2像素宽-几乎好像最小厚度是2像素。如何绘制一条真正1像素厚的线?
Line myLine = new Line();
myLine.Stroke = System.Windows.Media.Brushes.Black;
myLine.X1 = 100;
myLine.X2 = 140; // 150 too far
myLine.Y1 = 200;
myLine.Y2 = 200;
myLine.StrokeThickness = 1;
graphSurface.Children.Add(myLine);
最佳答案
两件事情:
myLine.SnapsToDevicePixels = true;
myLine.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);