C# - 将PointF转换为Point

时间:2016-08-02 12:02:01

标签: c# point system.drawing

我认为这是一个简单的问题,但我无法弄清楚。

//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。

1 个答案:

答案 0 :(得分:8)

最简单的方法是使用Point.Round()

LineSegment2D linha_circulo_vertice = 
    new LineSegment2D(centroide_circulo, Point.Round(ponto_mais_proximo));
  

通过将Point值四舍五入到最接近的整数,将指定的PointF转换为Point对象。