C# - 将PointF转换为Point

5
我认为这是一个简单的问题,但我无法弄清楚它。
//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
pontos_medios是什么类型?您能否将您的评论翻译成英语,这样更容易阅读可能对问题有益的评论。 - Icepickle
6
使用 Point.Round(PointF) 方法:https://msdn.microsoft.com/zh-cn/library/system.drawing.point.round(v=vs.110).aspx - user6522773
1个回答

11

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

LineSegment2D linha_circulo_vertice = 
    new LineSegment2D(centroide_circulo, Point.Round(ponto_mais_proximo));
将指定的PointF对象按照最接近整数的规则取整并转换为Point对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接