CImg库可以绘制粗线

时间:2011-04-15 07:09:32

标签: c++ line cimg thickness

我一直在使用CImg库,并且很高兴集成和使用它是多么容易。但是,我现在想要绘制粗线(即,多于一个像素的厚度)。从draw_line函数(here)的API文档中不清楚如何做到这一点。该函数的第二个版本(就在文档中的第一个版本下面)甚至将纹理作为输入,但同样没有宽度。这样一个综合图书馆没有这个功能似乎很奇怪。也许它应该使用某种转换来完成?我知道我可以使用多边形(即一个矩形,我会使用该线的法线来计算多边形的角),但我担心这会明显变慢。

2 个答案:

答案 0 :(得分:4)

显然,它不可能是“开箱即用”,但创建自己的例程,调用CImg的'draw_line()'例程多次,一个或两个像素的移位应该给你结果你想要,没有太多工作。

答案 1 :(得分:2)

此功能可用于将粗线绘制为多边形。

line_width

image.draw_line() 20和3种颜色的基准。第一次使用此功能,第二次使用<div id="chat"> <div class="row-1" id="header" style="height: 20%"> <span>Live chat</span> </div> <div class="row-1" id="message" style="overflow-y: scroll; height: 60%"> <ul id="messages" class="list-group"></ul> </div> <div class="row-1" id="footer" style="height: 20%" > <input type="text" id="myMessage" placeholder="Type a message"> <a id="sendbutton" href="#" class="btn btn-success"><span class="glyphicon glyphicon-send"></span> </a> </div> 绘制单个1 px宽线。

  • 1000,1000至2000,2000:216μs/123μs
  • 2000,2000至8000,4000:588μs/151μs
  • 3000,1000至3020,1000:21μs/5μs