编辑: 丶蓶一 | 2015-05-30 |
int main() { // 定义一个每个颜色
8 位(bit)的640x400 的彩色图像 CImg img(640,400,1,3);
//将像素值设为 0(黑色) img.fill(0);
// 定义一个紫色 unsigned char purple[] = { 255,0,255 };
// 在坐标(100, 100)处画一个紫色的 Hello world img.draw_text( Hello World ,100,100,purple);
// 在一个标题为 My first CImg code 的窗口中显示这幅图像 img.display( My first CImg code );
return 0;
} 也可以用一种更紧凑的方式写: #include CImg.h using namespace cimg_library;
int main() { const unsigned char purple[] = { 255,0,255 };
CImg(640,400,1,3,0).draw_text( Hello World ,100,100,purple).display( My first CImg code );
return 0;
} 一般来说,你可以用非常小的代码来完成复杂的图像处理任务.CImg 库非常易于使用,并 提供了很多图像操作方面很有意思的算法. 2.1.3. 如何编译 CImg 库是一个非常轻量级而且很用户友好的库:只使用了标准系统库.从而,避免了 去处理复杂的依赖关系和由库的兼容性带来的问题. 你所需要的唯一的一件事就是一个 (现 代的)C++编译器: z Microsoft Visual C++ 6.
0、 Visual Studio.net 和Visual Express Edition: 使用 CImg 库包中的工程文件和解决方案文件 ( '
compilation/'
目录下) 来看它是如何工作的. z Intel ICL compiler:用下面的命令来使用 ICL 编译一个基于 CImg 的程序: icl /Ox hello_world.cpp user32.lib gdi32.lib z g++(MingW windows 版) :在Windows 下,使用下面的命令用 g++编译一个基 于CImg 的程序: g++ -o hello_word.exe hello_word.cpp -O2 -lgdi32 z g++ (Linux 版) : 在Linux 下, 使用下面的命令用 g++编译一个基于 CImg 的程序: g++ -o hello_word.exe hello_world.cpp -O2 -L/usr/X11R6/lib -lm -lpthread -lX11 z g++(Solaris 版) :在Solaris 下,使用下面的命令用 g++编译一个基于 CImg 的程 序: g++ -o hello_word.exe hello_world.cpp -O2 -lm -lpthread -R/usr/X11R6/lib -lrt -lnsl -lsocket z g++ (Mac OS X 版) : 在Mac OS X 下, 使用下面的命令用 g++编译一个基于 CImg 的程序: g++ -o hello_word.exe hello_world.cpp -O2 -lm -lpthread -L/usr/X11R6/lib -lm -lpthread -lX11 z Dev-C++:使用 CImg 库包中提供的工程文件来看它是如何工作的. 因为提供兼容性是CImg库的一个特征,所以,如果你使用其他的编译器,并遇到了问 题,请E-mail作者(英文)或译者(中文) .不过,那些不遵守C++标准的编译器将不支持 CImg库. 2.1.4. 下面要做什么? 如果你已经做好了了解更多的准备, 并且想用CImg写更认真的程序的话, 请到小节 指南:正式开始(-
10 -) . 2.2.FAQ:常见问题 2.2.1. FAQ摘要 z 一般信息和可用性 C CImg库是什么? C 支持什么平台? C CImg是如何分发的? C 什么样的人会对CImg感兴趣? C CeCILL许可的有什么特点? C 谁在CImg背后? z C++相关问题 C C++知识达到什么程度才能使用CImg? C 如何在自己的C++程序中使用CImg? 2.2.2. 1. 一般信息和可用性 2.2.2.1. 1.1. CImg 库是什么? CImg 库是一个开源的 C++图像处理工具箱. 它包含在一个(大的)单独的头文件 CImg.h 中.提供一组可以在你自己的源代码中使 用的 C++类和函数.这些类和函数提供了加载/保存,处理和显示图像的功能.它实际上是 一个非常简单而易于使用的, 用于在 C++中完成图像处理任务的工具箱: 仅需要包含头文件 CImg.h,你就可以在你的 C++程序中处理图像. 2.2.2.2. 1.2. 支持什么平台? 可移植性在 CImg 的设计中一直被关注.CImg 已经在不同的体系结构和编译器上彻底 的测试过了, 并且可以工作在任何带有一个近期 C++编译器的正式操作系统上工作. 在每次 发布之前,CImg 库都在下面这些的不同的配置下编译过: z 带有 g++的32 ........