2016-08-02 2 views
2

간단한 질문이지만 생각할 수 없다고 생각합니다. 에 'System.Drawing.PointF'에서C# - 포인트를 포인트로 변환

//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.Point'

내가 그것을 어떻게 변환 할 수 있습니다 내 질문은? 코드의 첫 번째 줄에있는 ponto_mais_proximo는 PointF 여야합니다.

+1

어떤 종류가'pontos_medios'입니까? 귀하가 귀하의 의견을 영어로 번역 할 수있는 모든 변경은 귀하의 질문에 도움이 될 수있는 잠재적 인 의견을 조금 더 쉽게 읽을 수있게 해줍니다 – Icepickle

+6

Point.Round (PointF) 사용 : https://msdn.microsoft.com/en- us/library/system.drawing.point.round (v = vs.110) .aspx –

답변

6

이 작업을 수행하는 가장 쉬운 방법은 Point.Round()을 사용하는 것입니다

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

는 가장 가까운 정수로 포인트 값을 반올림하여 Point 객체로 지정된 PointF를 변환합니다.

+0

글쎄, 너는 매일 새로운 무언가를 배운다. – TheLethalCoder

관련 문제