C# 绘制直角坐标系

转载:对自己项目有帮助,git的代码改改可以使用,结合文字说明来看有助于理解。

代码地址:https://github.com/guochao2299/DrawRectangularCoordinateSystem

 

 

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轴每个大区间段和小区间段占用多少像素,然后从坐标原点开始,从左往右绘制长、短刻度线,同时在绘制完刻度线之后,在刻度线的下方绘制长刻度线对应的尺寸。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值