Возможный дубликат:
как с помощью Bresenham создать линию произвольной толщины?
Как я могу использовать алгоритм Брезенхема для рисования линий толщиной более пикселя? Должен ли я запускать алгоритм много раз со смещением от x и y?
Возможный дубликат:
как с помощью Bresenham создать линию произвольной толщины?
Как я могу использовать алгоритм Брезенхема для рисования линий толщиной более пикселя? Должен ли я запускать алгоритм много раз со смещением от x и y?
Одна вещь, которую вы можете сделать, это вычислить, используя наклон линии, смещение на единицу в обоих ортогональных направлениях. Умножьте это на свою толщину и возьмите смещения в обеих конечных точках. Теперь у вас есть границы повернутого прямоугольника. Затем, вместо того, чтобы использовать Bresenham для рисования линии, используйте быструю заливку полигона.
Нет, самый простой способ — просто нарисовать трафарет в каждом месте (x, y), созданном алгоритмом, который больше одного пикселя, например. диск.
Но это, конечно, неэффективно в том смысле, что вы рисуете один и тот же пиксель много раз. Однако его легко реализовать, и он надежно работает даже с трафаретами необычной формы или разноцветными.