转自:http://www.cppprog.com/2009/0424/106.html
CImg是一个跨平台的C++的图像处理库,提供了加载、处理、显示、保存等一系列功能,其中的图像处理功能尤其强大。
首先,建议先到这里欣赏一下使用CImg代码做的Demo,就是它使我这个没有图像处理经验的童鞋也心动得以致于研究了一星期^_^
主页地址:http://cimg.sourceforge.net/
下载地址:http://cimg.sourceforge.net/download.shtml
下载时注意应该下载源码包,里面附带的大量的例程。而实际上CImg库只是一个头文件CImg.h,这个头文件里包含了CImg库所有的代码。
另外不要错过下载列表中的一个部分完成的《CImg中文参考手册》。
CImg的Hello World
这段代码是从《CImg参考手册》里抄的,可以大致了解一下CImg的框架。
以VC为例:新建控制台程序,输入下面的代码。项目属性的链接器附加依赖项加入kernel.lib user32.lib gdi32.lib。最后,把CImg.h拷贝到项目路径下,即可成功编译运行
- #include "CImg.h"
- using namespace cimg_library;
- int main()
- {
- // 定义一个每个颜色 8 位(bit)的 640x400 的彩色图像
- CImg<unsigned char> img(640,400,1,3);
- //将像素值设为 0(黑色)
- img.fill(0);
- // 定义一个紫色
- unsigned char purple[] = { 255,0,255 };
- // 在坐标(100, 100)处画一个紫色的“Hello world”
- img.draw_text(100,100,"Hello World",purple);
- // 在一个标题为“My first CImg code”的窗口中显示这幅图像
- img.display("My first CImg code");
- return 0;
- }
运行这段代码,显示结果: