Используйте LINQ, чтобы найти ограничивающий прямоугольник для списка PointF в C#

В этом примере показано, как использовать LINQ, чтобы найти ограничивающий прямоугольник для списка PointF. Когда вы нажимаете на PictureBox программы, он добавляет точки в список и показывает ограничивающий прямоугольник.

Следующий метод находит ограничивающий прямоугольник.

Обратите внимание, что метод принимает в качестве параметра an IEnumerable & lt; Point & gt;, поэтому он может принимать любой перечислимый объект в качестве параметра. В этом примере программа использует List & lt; Point & gt;, но метод также может обрабатывать массив Point или какой-либо другой класс коллекции, содержащий Point .

Метод сначала делает запрос LINQ для выбора координат точек X. Затем он использует методы Min и Max в запросе для получения минимального и максимального значений X.

Он повторяет эти шаги, чтобы получить минимальные и максимальные значения Y. Он заканчивается с использованием минимального и максимального значений для построения Rectangle, который он возвращает.

Обратите внимание, что LINQ откладывает выполнение до тех пор, пока запрос не понадобится. В этом случае запрос фактически не выполняется до тех пор, пока программа не вызовет Min, чтобы найти xmin.

Следующий код показывает, как программа использует метод BoundingBox.

Источник: http://csharphelper.com/blog/2014/11/use-linq-to-find-a-bounding-box-for-a-list-of-pointf-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector