/// <summary>
/// 图像区画弧
/// </summary>
/// <param name="gs"></param>
/// <param name="startpoint"></param>
/// <param name="endpoint"></param>
/// <param name="point"></param>
public static void DrawArc(Graphics gs,PointF startpoint,PointF endpoint,PointF pointt)
{
PointF point = MyArc.ArcCircle(startpoint, endpoint, pointt);//求圆心坐标,测试无错误
float a = startpoint.X-point.X;
float b = startpoint.Y-point.Y;
float c = endpoint.X-point.X;
float d = endpoint.Y-point.Y;//以上将圆心作为原点,以方便计算
double startangle;
double endangle;
if (b != 0&&d!=0&&a!=0&&c!=0)
{
float kstart = -a / b;
float kend = -c / d;
double startradian= Math.Atan((double)kstart);
double endradian= Math.Atan((double)kend);
if (a < 0)//起始点与原点连线与X轴成钝角
{
startangle = startradian * 180 / Math.PI + 180;
}
else//起始点与原点连线与X轴成锐角
{
startangle = startradian * 180 / Math.PI;
}
if (c < 0)//终点与原点连线与X轴成钝角
{
endangle = endradian * 180 / Math.PI + 180;
}
else//终点与原点连线与X轴成锐角
{
endangle = endradian * 180 / Math.PI;
}
gs.DrawArc(Pens.Red, point.X - r, point.Y - r, r * 2, r * 2, (float)startangle, (float)endangle);
} }//以上是代码的部分,错误出在这里,谁帮忙看看啊,谢拉
/// 图像区画弧
/// </summary>
/// <param name="gs"></param>
/// <param name="startpoint"></param>
/// <param name="endpoint"></param>
/// <param name="point"></param>
public static void DrawArc(Graphics gs,PointF startpoint,PointF endpoint,PointF pointt)
{
PointF point = MyArc.ArcCircle(startpoint, endpoint, pointt);//求圆心坐标,测试无错误
float a = startpoint.X-point.X;
float b = startpoint.Y-point.Y;
float c = endpoint.X-point.X;
float d = endpoint.Y-point.Y;//以上将圆心作为原点,以方便计算
double startangle;
double endangle;
if (b != 0&&d!=0&&a!=0&&c!=0)
{
float kstart = -a / b;
float kend = -c / d;
double startradian= Math.Atan((double)kstart);
double endradian= Math.Atan((double)kend);
if (a < 0)//起始点与原点连线与X轴成钝角
{
startangle = startradian * 180 / Math.PI + 180;
}
else//起始点与原点连线与X轴成锐角
{
startangle = startradian * 180 / Math.PI;
}
if (c < 0)//终点与原点连线与X轴成钝角
{
endangle = endradian * 180 / Math.PI + 180;
}
else//终点与原点连线与X轴成锐角
{
endangle = endradian * 180 / Math.PI;
}
gs.DrawArc(Pens.Red, point.X - r, point.Y - r, r * 2, r * 2, (float)startangle, (float)endangle);
} }//以上是代码的部分,错误出在这里,谁帮忙看看啊,谢拉
解决方案 »
- C# Combobox的一个问题
- 矩阵坐标转换。
- 为什么在Session前要用"=",具体代码如下:<u><%=Session["UserName"] %></u> </td>
- sql查询问题
- 加密解密一个算法,请大家帮我讲讲!
- 大家帮我看看,为什么我这个存储过程在查询分析器中可以得到正确结果,在C#中却得不到正确结果
- 在pl/sql里面调用一个oracle的存储过程没有问题(运行时间要1分钟不到),可是.net..
- 字符替换的问题
- DEV LayoutControl问题
- ado.net的一些问题,100分奉上 如果不够还可以开帖加分!!!
- 请问如何实现PDF在线浏览,不能下载,打印(在页面上)?
- 提示框
r = sqrt(a * a + b * b)