如何在C#中绘制圆形轮廓?

时间:2015-11-21 17:38:44

标签: c# draw geometry outline

我想以固定的间隔(就像时钟一样)在圆形轮廓上绘制文字 有没有一种简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:2)

无论您使用何种图形库,绘图文本都需要x和y来知道绘制文本的位置。

假设时钟的中心是Cx和Cy。假设x向右移动,y向正向移动。您可能需要根据您的平台偏移或反转这些。

enter image description here

因此,您可以使用数学(三角法)来获取每个时钟数的x和y。你需要沿着圆的度数和圆的半径,公式将是:

y = sin(degree) * radius + Cy

x = cos(degree) * radius + Cx

答案 1 :(得分:0)

toddmo的数学是正确的。在实施方面,目前尚不清楚你究竟在问什么。如果您从头开始,最简单的方法是:

1)在Visual Studio中创建Windows窗体应用程序

2)在mspaint中绘制圆圈,并将图像文件作为资源导入。

3)创建一个使用表单构建器UI显示该资源的图片框。这是在表单上显示圆圈的简单方法。

4)通过在表单构建器UI

中将其拖放到表单上来创建“Label”控件

5)创建一个'Timer'控件(可以从'toolbox'窗口拖放到窗体上)

6)双击Timer控件,在它的事件中,根据toddmo描述的sin和cos设置Label控件的位置。

7)将Timer控制的间隔设置为适当的值。

如果dpi发生变化,这将无法很好地扩展,但这是一个开始。