使用CIMG为c ++设置线条模式

时间:2016-09-20 22:36:27

标签: c++ cimg

我正在努力学习Cimg,但是文档非常模糊。 我正在玩绘图功能,我想绘制一条线。 functoon声明非常简单:

CImg<T>& draw_line  (   const int   x0,
        const int   y0,
        const int   x1,
        const int   y1,
        const tc *const     color,
        const float     opacity = 1,
        const unsigned int      pattern = ~0U,
        const bool      init_hatch = true 
    )   

其中

x0  X-coordinate of the starting line point. 
y0  Y-coordinate of the starting line point.
x1  X-coordinate of the ending line point.
y1  Y-coordinate of the ending line point.
color   Pointer to spectrum() consecutive values of type T, defining    the drawing color.
opacity Drawing opacity.
**pattern   An integer whose bits describe the line pattern.**
init_hatch  Tells if a reinitialization of the hash state must be done. 

我的问题是模式,我无法在文档中找到哪个整数表示哪种行。现在有人如何操纵模式?

提前谢谢

1 个答案:

答案 0 :(得分:1)

其中一位开发者通过电子邮件向我回复了这个问题,我在这里发布给任何有同样问题的人。

  

模式由unsigned int中的位如何设置给出。   你必须将无符号整数看作32像素的模式(即   32位)可以是透明的(位设置为0)或不透明的(位设置)    到1)。   例如,所有位都设置为1的模式是完全不透明的,并且   对应于模式值0xFFFFFFFF。   8个像素是透明的图案,然后8个像素是不透明的   对应于模式0xFF00FF00。   像0xCCCCCCCC这样的模式意味着1像素透明,然后1像素不透明,   等...