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

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

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

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

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

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

Пример


Ответы (1 шт):

Автор решения: Kromster

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

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

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

→ Ссылка