2016-08-02 9 views
2

私はそれは簡単な質問だと思っていますが、私はそれを理解できません。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'

に 'System.Drawing.PointF' から変換することはできませんか?コードの最初の行のponto_mais_proximoはPointFである必要があります。

+1

どのようなタイプが 'pontos_medios'ですか?あなたのコメントを英語に翻訳することができれば、問題に有益な可能性のある潜在的なコメントを読むのが少し簡単になります – Icepickle

+6

Point.Round(PointF)を使用:https://msdn.microsoft.com/en-私たち/ライブラリ/ 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

関連する問題