c#绘制坐标轴

#region 画出X轴与Y轴
private void DrawXY()
{
int MaxX;
int MaxY;
Graphics g = this.panel1.CreateGraphics();
MaxX = System.Convert.ToInt32(this.MaxX.Text);
MaxY = System.Convert.ToInt32(this.MaxY.Text);
//绘制X轴
Point px1=new Point(0,MaxY);
Point px2=new Point(MaxX,MaxY);
g.DrawLine(new Pen(Brushes.Black,1),px1,px2);
//绘制Y轴
Point py1=new Point(0,MaxY);
Point py2=new Point(0,0);
g.DrawLine(new Pen(Brushes.Black,1),py1,py2);
}
#endregion
#region 画出X轴上的分值线
private void DrawXLine()
{
int MaxX;
int MaxY;
Graphics g = this.panel1.CreateGraphics();
MaxX = System.Convert.ToInt32(this.MaxX.Text);
MaxY = System.Convert.ToInt32(this.MaxY.Text);
for (int i=20;i>=0;i–) //20等份X轴
{
Point px1=new Point(0,MaxYi/20);
Point px2=new Point(2,MaxY
i/20);
string sx = (MaxY * i / 20).ToString();
g.DrawLine(new Pen(Brushes.Black,1),px1,px2);
if (i % 4==0)
{
g.DrawString(sx, new Font(“宋体”, 8f), Brushes.Black, new PointF(MaxY * i / 20, MaxY));
}
}
Pen pen = new Pen(Color.Black, 1);
//g.FillRectangle(pen.Brush, 190, 215, 10, 5);
g.DrawString(“X轴”, new Font("宋体 ", 10f), Brushes.Black, new Point(MaxY, MaxX+10));
}
#endregion
#region 画出Y轴上的分值线
private void DrawYLine()
{
int MaxX;
int MaxY;
Graphics g = this.panel1.CreateGraphics();
MaxX = System.Convert.ToInt32(this.MaxX.Text);
MaxY = System.Convert.ToInt32(this.MaxY.Text);
for (int i=0;i <=20;i++)
{
Point py1=new Point(MaxXi/20,MaxY-2);
Point py2=new Point(MaxX
i/20,MaxY);
string sy = (MaxY * i / 20).ToString();
g.DrawLine(new Pen(Brushes.Black,1),py1,py2);
if (i % 4 == 0)
{
g.DrawString(sy, new Font(“宋体”, 8f), Brushes.Black, new PointF(0,200-MaxX * i / 20));
}
}

猜你喜欢

转载自blog.csdn.net/m0_46151596/article/details/120899133
今日推荐