Рисование линий с помощью boost :: gil?

Мне нужно нарисовать несколько линий на (вне экрана) изображения. Я хотел бы использовать boost :: gil, потому что библиотека уже интегрирована в мой проект.

Я хочу нарисовать линию от начала до конца в 2dim массиве

Кто-нибудь может дать мне быстрый пример, как нарисовать линию, используя gil?

Спасибо.

5

Решение

Сам GIL очень заботится о хранении изображений и пикселей в различных форматах и ​​конвертации между ними … но не более того. пользователь1929959 ответ использует расширение GIL, которое облегчает совместимость GIL с OpenCV, а затем использует рисование линий OpenCV (но OpenCV не идет с ускорением, поэтому вам нужно добавить это и в свой проект).

Для высококачественного сглаживания линий AGG а также Каир также стоит подумать (хотя вам необходимо выяснить, как лучше адаптировать изображения GIL к их собственным типам буферов изображений). Но если вы просто хотите получить базовые строки шириной в один пиксель, обратитесь к любому основному тексту компьютерной графики для некоторых Алгоритм Брезенхема псевдокод, который может быть тривиально реализован с использованием установки пикселей.

3

Другие решения

Сначала взгляните на boost :: gil tutorial. Вы можете найти пример в тест рисования, откуда можно легко извлечь метод для рисования линии.

0