我无法获得带状线尺寸的正确值

德罗夫

我目前正在开发一个模块,以创建图表以显示数据。我用System.Windows.Forms.DataVisualization.Charting.Chart

我有两条带状线,即使我为它们指定了相同的值StripWidth

这里我们有MaxY6000个,平均值为2300和阈值为2500

// We can't use a fixed size because if the y axis is too high or too small it may look too big or too small
this.chart1.ChartAreas[0].Axes[1].StripLines[0].StripWidth = maxY / 100;
this.chart1.ChartAreas[0].Axes[1].StripLines[1].StripWidth = maxY / 100;

// add the striplines 
this.chart1.ChartAreas[0].Axes[1].StripLines[0].Interval = 0;
this.chart1.ChartAreas[0].Axes[1].StripLines[1].Interval = 0;

this.chart1.ChartAreas[0].Axes[1].StripLines[0].IntervalOffset = average;
this.chart1.ChartAreas[0].Axes[1].StripLines[1].IntervalOffset = threshold;

它们通常以不同的大小结尾,虽然有些微妙,但我可以看到它,但我不明白它为什么会发生。

例子

战车

这只是一种视觉上的错觉:屏幕截图显示了两条宽度为3像素的行!

较深的绿色看起来更紧一点,但是当您计算像素时,您会发现它们是相同的:

在此处输入图片说明

为了避免这种效果,我建议给他们一种具有相同亮度的颜色

另请注意,由于四舍五入,您可能总是会得到不完美的亚像素抗锯齿效果。

最后(也是最重要的):在屏幕截图中,网格线增加了幻觉再次:为避免这种情况,请确保网格线和带状线具有更多明确的亮度值!

在photoshop中进行检查:在屏幕快照中,您具有的第一条带状线brightness=109,gridlinebrightness=100基本上相同,因此它们合并,宽度从3到4像素。但是第二个带状线有一个brightness=50这导致明显的33%的额外宽度。

请注意,网格线颜色可以很容易地设置为带状线颜色。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章