Как превратить поле точек в GraphicsPath

256
04 июня 2022, 20:00

Вопрос скорее не из программирования, а из алгоритмов.

Имеется набор параллельных отрезков с шагом 1 пиксель. Я могу превратить их в набор точек на плоскости, пробежавшись по каждой линии из одного конца в другой. Получится что-то вроде примера (картинка). Здесь отображены линии и пиксели, которые им принадлежат, то есть сама фигура.

Работаю в WinForms .net 3.5, рисоваться это всё будет прям на форме через Graphics g.Draw()

Вопрос: есть ли возможность превратить этот набор точек в какой-то GraphicsPath или Polygon? Отрисовка одного подобного объекта займёт куда меньше времени, чем сотни параллельных линий. Про каждый пиксель я и вовсе молчу.

Форма фигуры может быть любой, в том числе и как на картинке. Что ещё важно - фигура (линии) могут быть повёрнуты на 45 градусов против часовой стрелки.

Answer 1

Если алгоритм, то вот:

Можете растеризовать и потом обойти "марширующими квадратами", чтобы получить абрис / полигон.

А можете просто растеризовать в картинку и картинку накладывать.

READ ALSO
Предусмотреть в программе возможность завершения работы, если пользователь не активен в течении определенного времени. WPF,C#

Предусмотреть в программе возможность завершения работы, если пользователь не активен в течении определенного времени. WPF,C#

Как реализовать метод, который отслеживает активность окна WPF C#? Задача стоит следующая, необходимо предусмотреть возможность программы...

176
Не могу передать массив в другой класс

Не могу передать массив в другой класс

Есть класс наследующий от родительского, в родительском есть массив, который имеет get; set; Однако в дочернем классе он заполняется, а в родительском...

277
Выходит из авторизации пользователя через 5 минут

Выходит из авторизации пользователя через 5 минут

Возникает проблема, что после авторизации через 5 минут пропадает авторизация, в startup:

148
Что означает строка using :::no-loc(Xamarin.Forms):::

Что означает строка using :::no-loc(Xamarin.Forms):::

Смотрю документацию к XamarinForms и там в пример встречаю что то на подобии вот этого (отсюда https://docs

267