WPF画布上的重叠线混合颜色 - 如何解决?
问题描述:
如果我画一条线(假定ls只是一个带有一些坐标的线段)。 。 。WPF画布上的重叠线混合颜色 - 如何解决?
Line line = new Line();
String rgb = "#FF0000"; // Red
line.Stroke = (SolidColorBrush)(new BrushConverter().ConvertFrom(rgb));
ls = PlyList[p].L3Ds[seg];
line.X1 = ls.P0.X;
line.Y1 = ls.P0.Y;
line.X2 = ls.P1.X;
line.Y2 = ls.P1.Y;
GeometryCnv.Children.Add(line);
...我得到一条红线。如果我做 。 。 。
Line line = new Line();
String rgb = "#00FF00"; // Green
line.Stroke = (SolidColorBrush)(new BrushConverter().ConvertFrom(rgb));
ls = PlyList[p].L3Ds[seg];
line.X1 = ls.P0.X;
line.Y1 = ls.P0.Y;
line.X2 = ls.P1.X;
line.Y2 = ls.P1.Y;
GeometryCnv.Children.Add(line);
...我得到一条绿线。
但是,如果我同时做两个(使用相同的坐标),我会得到一种棕黄色的颜色,就好像这两条线的颜色混合在一起,仿佛这些线条具有某种透明度。我想要发生的是最近一行绘制上一行,以便生成的颜色是最近的颜色 - 在这种情况下为绿色。
我需要做些什么才能做到这一点?
答
尝试将SnapsToDevicePixels
设置为true GeometryCnv.
从两条线别名都会导致您看到的效果。
良好的通话,做到了! – user316117