您的位置:首页 > 编程语言 > C#

C#使用GDI+绘制直角坐标系(2)

2018-02-05 00:56 435 查看
  前段时间发表了一篇使用C# GDI+绘制直角坐标系的文章《C#使用GDI+绘制直角坐标系》。该文章介绍如何使用GDI+绘制正常状态的直角坐标系,后面又碰到了新的需求,同样是绘制直角坐标系,但要求X轴共用,同时绘制多个Y轴

  一看到这个需求,首先想到的是当初绘制直角坐标系的哪些代码可以用,哪些需要改动。

  首先列出可以复用的地方:

绘制X轴的代码

绘制Y轴的代码

  需要改动的地方:

- 计算坐标轴原点的代码

- 绘制Y轴原点的代码

  因此现在绘制包含多个Y轴的直角坐标系的步骤如下:

  1)计算坐标轴位置信息

    a)计算多个Y轴所占的宽度,这里每个Y轴的宽度包括长刻度线宽度,也包括长刻度线上的文本宽度(代码实现的时候偷懒,设置的固定宽度)

    b)计算直角坐标系的原点坐标,以及X轴和Y轴的宽度

  2)绘制坐标轴

    a)获取从右至左第一个Y轴的原点起始位置

    b)绘制第一个Y轴

    c)依次绘制剩余的Y轴坐标轴

    d)绘制X轴

  下面是效果图:



  代码放在Github上面,地址如下(DrawRectangularCoordinateSystem2st那个文件夹):

https://github.com/guochao2299/DrawRectangularCoordinateSystem/tree/MultiYAxe
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息