Алгоритм Брезенхэма

Возможный дубликат:
Как создать линию произвольной толщины, используя Брезенхем?

Как я могу использовать алгоритм Брезенхэма для рисования линий толщиной более пикселя? Нужно ли много раз запускать алгоритм со смещением от x и y?

2 ответа

Решение

Одна вещь, которую вы можете сделать, это рассчитать, используя наклон линии, смещение единицы в обоих ортогональных направлениях. Умножьте это на свою толщину и возьмите смещения в обеих конечных точках. Теперь у вас есть границы вращающегося прямоугольника. Затем вместо того, чтобы использовать Брезенхем для рисования линии, используйте быструю заливку полигонов.

Нет, простой способ - просто построить трафарет в каждом (x, y) месте, созданном алгоритмом, который больше одного пикселя, например, на диске.

Но это, конечно, неэффективно в том смысле, что вы наносите один и тот же пиксель много раз. Однако его легко реализовать и он надежно работает даже с трафаретами нечетной или разноцветной формы.

Другие вопросы по тегам