加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – MS Charts:获得真正的InnerPlotPosition?

发布时间:2020-12-16 01:47:05 所属栏目:百科 来源:网络整理
导读:使用Microsoft Charts创建图表时,我需要在图表上获得网格的确切位置. This page说 – 据我所知 – 这可以通过InnerPlotPosition实现.但是,使用此属性时,我得到以下矩形: 这个矩形似乎与图表大小成比例;在调整图表大小时,矩形会缩小,但仍会在所有边缘上保持
使用Microsoft Charts创建图表时,我需要在图表上获得网格的确切位置.

This page说 – 据我所知 – 这可以通过InnerPlotPosition实现.但是,使用此属性时,我得到以下矩形:

这个矩形似乎与图表大小成比例;在调整图表大小时,矩形会缩小,但仍会在所有边缘上保持在网格外部.我已尝试使用常量添加和乘以大小,但没有一个常量适用于所有大小.

所以,只是为了澄清,我想要的是网格上的外部黑色矩形.有没有办法得到这个?

(我一直在考虑从边缘扫描像素,并检测每个方向上的第一个黑色像素,但这听起来像是一个肮脏的黑客.)

解决方法

我终于找到了一个有效的解决方案:

ChartArea a = chart.ChartAreas[0];
     double x1 = a.AxisX.ValueToPixelPosition(a.AxisX.Minimum);
     double x2 = a.AxisX.ValueToPixelPosition(a.AxisX.Maximum);
     double y1 = a.AxisY.ValueToPixelPosition(a.AxisY.Maximum);
     double y2 = a.AxisY.ValueToPixelPosition(a.AxisY.Minimum);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读