C# GDI+编程之剖析startAngle和sweepAngle
2021-06-13 13:12
标签:new mamicode phi oid 计算 矩形 http inf creat 以DrawArc为例,它有一种形式如下的构造函数 对于startAngle和sweepAngle,MSDN对它的解释是 startAngle: 从 x 轴到弧线的起始点沿顺时针方向度量的角(以度为单位)。 sweepAngle:从 startAngle 参数到弧线的结束点沿顺时针方向度量的角(以度为单位)。 可能博主理解力不怎么样,一直不明白X轴到弧线起始点应该怎么计算,后面查了一些资料才弄明白了,通过下面例子来具体剖析 当点击button1后,效果如下 这是怎么来的呢?其实很简单,首先在矩形的中点建立一个坐标系,圆弧起点到中点的连线与X轴的夹角为startAngle,圆弧的起点、终点分别和rect定义的矩形的中点连线,两条线段之间夹角就是sweepAngle 起点到O的连线与X轴的夹角为startAngle,终点到O的连线与起点到O的连线的夹角为sweepAngle。 当角度取负值的时候,表示逆时针方向,否则都为顺时针方向,如将上例中的sweepAngle改成-90,即 则结果如下 如果对GDI+有兴趣,可以参阅我之前写的博客 GDI+ 编程之绘图 C# GDI+编程之剖析startAngle和sweepAngle 标签:new mamicode phi oid 计算 矩形 http inf creat 原文地址:https://www.cnblogs.com/forever-Ys/p/10457999.htmlpublic void DrawArc(Pen pen, Rectangle rect, float startAngle, float sweepAngle);
private void button1_Click(object sender, EventArgs e)
{
Graphics graphics = CreateGraphics();
Pen myPen = new Pen(Color.Red);
Pen pen1 = new Pen(Color.Green,3);
Rectangle rec1 = new Rectangle(50,50, 100, 60);
graphics.DrawRectangle(myPen, rec1); //绘制矩形
graphics.DrawArc(pen1, rec1, 0, 90); //绘制圆弧
}
graphics.DrawArc(pen1, rec1, 0, -90);
上一篇:php输出变量加{}的作用
下一篇:C#递归拷贝文件删除文件
文章标题:C# GDI+编程之剖析startAngle和sweepAngle
文章链接:http://soscw.com/index.php/essay/93916.html