CImg是一个跨平台的图像处理库,能够工作在非常广泛的操作系统中,因此一些预定义的宏在跨平台环境下需要被正确定义;大部分时候CImg
库能够自动设置宏的值;但是如果系统类型没有被识别出来,这些宏需要在CImg.h被include之前被手动正确定义,例如定义cimg_display_type
(新版本CImg,该变量名为cimg_display
):
#define cimg_display_type 0
#include "CImg.h"
...
下面是一些CImg
库里面的宏 :
-
cimg_OS : 操作系统类型;可以被设置为: 1 (Unix), 2 (Windows), 0 (Other configuration);一般
CImg
会自动检测并设置该值,如果CImg
没有确定操作系统类型,下面的宏需要手动调整: -
cimg_display_type : 该宏定义了显示图像需要依赖的系统显示函数库类型;可以被设置为如下的值: 0 (no display library available), 1 (X11-based display) 或者2 (Windows-GDI )。
如果运行的操作系统上没有X11、GDI等图形显示库,请将宏置为0**来禁用显示相关的功能。 - cimg_color_terminal : 终端是否兼容VT100颜色显示模型;
-
cimg_debug : 运行时是否输出CImg的调试信息。设为0禁用调试信息输出,设为1输出正常的调试信息(默认值);设为2输出详细的调试信息;设为2的时候大量调试信息输出可能会拖慢程序的执行。查看
CImgException
更好地理解调试信息输出机制; -
cimg_convert_path
: 定义ImageMagick
的convert
命令路径;如果ImageMagick
被安装在标准目录或者系统目录下,该值可以不设置;CImg库使用convert
来加载经过压缩算法的图片格式图像例如GIF、PNG等;查看cimg_library::CImg::get_load_convert()
和cimg_library::CImg::save_convert()
获得详细信息; -
cimg_temporary_path : 临时文件目录;一般情况下不需要单独设置,如果加载经过压缩算法的图片格式图像(GIF、PNG等)时发生问题,你可能需要检查该宏的设置;查看
cimg_library::CImg::get_load_convert()
和cimg_library::CImg::save_convert()
获得详细信息; -
cimg_plugin : 这个宏定义了类
CImg<T>
的函数插件文件添加类CImg<T>
的新特性; 通过引用插件可以新增类CImg<T>
的成员函数;而无需修改"CImg.h" 文件,也无需在"CImg.h"文件中引用插件文件; -
cimgl_plugin : 类似cimg_plugin, 通过该宏给类
CImgl<T>
添加新的特性; -
cimgdisplay_plugin :类似cimg_plugin, 通过该宏给类
CImgDisplay<T>
添加新的特性; -
cimgstats_plugin : 类似cimg_plugin, 通过该宏给类
CImgStats<T>
添加新的特性.
所有的宏可以使用函数cimg_library::cimg::info()进行输出检查。