我认为这是一个简单的问题,但我无法弄清楚。
//verifica qual o ponto mais proximo do centroide_circulo
PointF ponto_mais_proximo = pontos_medios.OrderBy(x => Math.Pow(x.X - centroide_circulo.X, 2) + Math.Pow(x.Y - centroide_circulo.Y, 2)).FirstOrDefault();
LineSegment2D linha_circulo_vertice = new LineSegment2D(centroide_circulo, ponto_mais_proximo);
无法从“ System.Drawing.PointF”转换为“ System.Drawing.Point”
我的问题是如何转换?代码第一行中的ponto_mais_proximo必须为PointF。
最佳答案
最简单的方法是使用Point.Round()
:
LineSegment2D linha_circulo_vertice =
new LineSegment2D(centroide_circulo, Point.Round(ponto_mais_proximo));
通过将Point值舍入到最接近的整数,将指定的PointF转换为Point对象。