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

   绘制坐标系又有了最新的需求,要求在X轴两侧都可以绘制Y坐标轴,具体来说,绘制直角坐标系的时候,X轴的绘制是正常的绘制要求,但是在绘制Y轴的时候,既可以在X轴左侧绘制多个Y轴,也可以在X轴右侧绘制多个Y轴,还有在两边同时绘制多个Y轴。
   还是梳理一下之前的代码哪些能用,哪些要改。
   首先是能复用的功能:
    - 绘制X轴的代码;
    - 绘制Y轴的代码;
    - 计算坐标轴原点的代码;
    - 绘制左侧Y轴原点的代码。
   然后是需要改动的功能:
    - 计算X轴宽度的代码;
    - 绘制右侧Y轴原点的代码。
现在绘制包含窗口左侧右侧都包含多个Y轴的直角坐标系的步骤如下:
  1)计算坐标轴位置信息
    a)计算左侧Y轴所占的宽度,这里每个Y轴的宽度包括长刻度线宽度,也包括长刻度线上的文本宽度(代码实现的时候偷懒,设置的固定宽度)
    b)计算右侧Y轴所占的宽度;
    c)计算直角坐标系的原点坐标,以及X轴和Y轴的宽度
  2)绘制坐标轴
    a)获取左侧从右至左第一个Y轴的原点起始位置
    b)绘制左侧第一个Y轴
    c)依次绘制左侧剩余的Y轴坐标轴
    d)绘制X轴
    e)获取右侧从左至右第一个Y轴的原点起始位置
    f)绘制右侧第一个Y轴
    g)依次绘制右侧剩余的Y轴坐标轴
   程序的效果图如下:
左右两侧都包含多个Y轴的直角坐标系
代码放在了github上面,源码地址:https://github.com/guochao2299/DrawRectangularCoordinateSystem/tree/LeftRightYAxe/DrawRectangularCoordinateSystem3st

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值