如何判断点击的点pot在已知的圆内,高结贴率,解决马上结贴 我在pictruebox内有一个圆,圆是通过Graphics.DrawEllipse 画出来的,那么我怎么判断我点击的坐标是在圆内,因为这种画法是在一个矩形框内画得,在矩形框内好判断,在圆内不知道怎么判断,哪位高手知道?或者用其他的画圆法,希望赐教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先圆的大小应该是已知的,比如private Rectangle m_CircleRegion = new Rectangle(10, 10, 60, 60);然后画圆的时候使用的应该是这个regionprivate void pictureBox1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawEllipse(Pens.Black, m_CircleRegion); }最后我们需要通过picturebox1的mouseClick方法来得到按下的点并确定该点是否在圆中,通过比较该点到圆心的距离private void pictureBox1_MouseClick(object sender, MouseEventArgs e) { Point clickPoint = e.Location; Point circleCenter = new Point(m_CircleRegion.X + m_CircleRegion.Width / 2, m_CircleRegion.Y + m_CircleRegion.Height / 2); double r = m_CircleRegion.Width / 2; double distance = Math.Sqrt(Math.Pow((clickPoint.X - circleCenter.X), 2) + Math.Pow((clickPoint.Y - circleCenter.Y), 2)); if (distance <= r) MessageBox.Show("This point is in the circle"); else MessageBox.Show("This point is out of the circle"); } 关于在一个类中创建另外一个类的类类型的静态变量的问题 程序外如何修改xsd文件中的数据库连接字符串 问一个基础的知识,非常感谢帮忙 如何判断异步线程已经执行完成了呢? C#8皇后解法,把注释写清楚一点. 问一个语言转换的问题。 同一个工程下怎么获取另一个页面的变量? bindingNavigator删除提示问题 思归大哥,谢谢了提供了语法分析源代码示例的网址 .net2.0中的webbrowser控件如何设置代理服务器? C# 如何用webBrowser选取radio 关于Gridview的全选删除
private Rectangle m_CircleRegion = new Rectangle(10, 10, 60, 60);然后画圆的时候使用的应该是这个region
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Black, m_CircleRegion);
}最后我们需要通过picturebox1的mouseClick方法来得到按下的点并确定该点是否在圆中,通过比较该点到圆心的距离
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
Point clickPoint = e.Location;
Point circleCenter = new Point(m_CircleRegion.X + m_CircleRegion.Width / 2, m_CircleRegion.Y + m_CircleRegion.Height / 2);
double r = m_CircleRegion.Width / 2;
double distance = Math.Sqrt(Math.Pow((clickPoint.X - circleCenter.X), 2) + Math.Pow((clickPoint.Y - circleCenter.Y), 2));
if (distance <= r)
MessageBox.Show("This point is in the circle");
else
MessageBox.Show("This point is out of the circle");
}