使用boost::gil如何绘制线条?

6
我需要在一个(离屏)图像上画几条线。我想使用boost::gil,因为该库已经集成到我的项目中。
我想要在二维数组中从起点到终点画一条线,请问有人能够给我一个使用gil来画线的快速示例吗?
谢谢。
2个回答

3
GIL本身非常关注在不同格式中存储图像和像素以及它们之间的转换...但仅限于此。user1929959's answer使用了一个GIL扩展,使GIL与OpenCV互操作,然后使用了OpenCV的线条绘制(但OpenCV没有boost,所以您需要将其添加到项目中)。
对于高质量的抗锯齿线条绘制,可能也值得考虑AGGCairo(尽管您需要找出如何最好地调整GIL图像到它们自己的图像缓冲区类型)。但如果您只想要基本的一像素宽线条,请参考任何基本的计算机图形学文本以获取一些Bresenham's line algorithm伪代码,可以轻松实现使用像素设置。

是的,那就是我剛剛做的... GIL 絕對不是這裡的正確選擇。最近我不得不複製貼上 Bresenham 源代碼,但它運作得非常好,讓我感到很有趣。 - anhoppe

0

老实说,我已经简单地浏览了一下教程。设置像素似乎很容易,但我不想实现自己的线算法。gil 中是否有绘制基本图形的功能? - anhoppe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接