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

C#窗口中的坐标系是如下图所示,原点在窗口左上角,X轴方向是自左向右,Y轴方向是自上向下。
如果想在C#窗口中绘制正常的直角坐标系,例如入下图所示的第一象限的坐标系图形,就需要做专门的处理了。
C使用GDI+绘制直角坐标系 - gc_2299 - gc_2299的博客
 本文介绍如何绘制如上图所示的第一象限的直角坐标系。
 用到的Graphics类中的函数如下:
平移函数:TranslateTransform;
画直线函数:DrawLine;
        画文字函数:DrawString;
其它一些细节的设置:
1)长刻度线长度(高度)为5像素;
2)短刻度线长度(高度)为2像素;
3)每个坐标轴分为10个大的区间段;
4)每个大的区间段,也就是两个长刻度线之间分为10个小区间段;
5)坐标轴上的字体,宋体,8号字。
实现步骤:
1)计算坐标原点
坐标原点在左下角。
水平方向上,原点左边主要有三个需要计算的尺寸:
a)图形到左边的空白;
b)Y轴长刻度线上的文本最宽宽度;
c)Y轴长刻度线宽度。
这三个值确定了,坐标原点的横坐标就确定了。
   竖直方向上,原点下方主要有三个需要计算的尺寸:
a)图形到下面的空白距离;
b)X轴长刻度线下方的文本高度;
c)X轴长刻度线高度。
这三个值确定了,坐标原点的纵坐标就确定了。
2)计算坐标轴长度
这里代码实现的比较偷懒。坐标原点的横坐标到窗口右边的距离减去2倍空白距离就当成X轴长度。坐标原点的纵坐标到窗口上方的距离减去2倍空白距离就当成Y轴长度。
3)绘制Y轴
首先计算Y轴每个大区间段和小区间段占用多少像素,然后从坐标原点开始,从下往上绘制长、短刻度线,同时在绘制完刻度线之后,在刻度线的左边绘制长刻度线对应的尺寸。
4)绘制X轴
首先计算X轴每个大区间段和小区间段占用多少像素,然后从坐标原点开始,从左往右绘制长、短刻度线,同时在绘制完刻度线之后,在刻度线的下方绘制长刻度线对应的尺寸。
5)最终效果
代码地址:https://github.com/guochao2299/DrawRectangularCoordinateSystem
 
 
  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值