110,533
社区成员
发帖
与我相关
我的任务
分享
protected void DrawWatchCircle()
{
int r = 150;//大圆半径
int r2 = 140;//小圆半径
int x1=0;
int x2 = 0;
int y1 = 0;
int y2=0;
Graphics g = panel2.CreateGraphics();
g.DrawArc(new Pen(Color.White, 2), 50, 50, 300, 300, 45, 360);//画大圆
//画刻度
for (int i = 0; i <= 180; i++)
{
if (i <= 90)
{
if (i % 2 == 0)
{
x1 = 200 - (int)(r * Math.Cos(i * Math.PI / 180));
y1 = 200 - (int)(r * Math.Sin(i * Math.PI / 180));
x2 = 200 - (int)(r2 * Math.Cos(i * Math.PI / 180));
y2 = 200 - (int)(r2 * Math.Sin(i * Math.PI / 180));
}
}
else
{
if (i % 2 == 0)
{
x1 = 200 + (int)(r * Math.Cos((180 - i) * Math.PI / 180));
y1 = 200 - (int)(r * Math.Sin((180 - i) * Math.PI / 180));
x2 = 200 + (int)(r2 * Math.Cos((180 - i) * Math.PI / 180));
y2 = 200 - (int)(r2 * Math.Sin((180 - i) * Math.PI / 180));
}
}
Point p1 = new Point(x1, y1);
Point p2 = new Point(x2, y2);
g.DrawLine(new Pen(Color.Red), p2, p1);//画刻度线
}
}