是否可以使用C ++创建图像?

时间:2010-08-23 02:26:39

标签: c++ image file

您可以在Windows上使用C ++创建PNG,GIF等吗?

如果有可能,怎么样?例如,如何使png图像只有一种纯色。

只是一个“你好世界”的例子会很棒......

4 个答案:

答案 0 :(得分:5)

当有人问你关于Hello world时,请说出Hello world ...

#include "opencv/cxcore.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"

int _tmain(int argc, _TCHAR* argv[])
{
    cv::Mat image(480, 640, CV_8UC3);
    cv::putText(image, "Hello world", cvPoint(320, 200), 
        CV_FONT_HERSHEY_SIMPLEX, 1, cvScalar(255, 0, 0));
    cv::imwrite("output.tif", image);
    return 0;
}

答案 1 :(得分:2)

对于PNG,请试用PNGWriter库:http://pngwriter.sourceforge.net/

答案 2 :(得分:2)

是的,有可能这样做。一些用于图像处理的库包括ImageMagick / GraphicsMagick(相同的API),CImgOpenCV。 OpenCV是迄今为止最强大但也是最难使用的。 CImg可能是最容易使用的,我强烈建议初学者使用它...你基本上创建一个CImg< pixel_type>的实例。键入,填写像素,然后调用“save”,它将自动推断出类型并知道如何根据您提供的文件扩展名对其进行编码。

答案 3 :(得分:1)

图像只是二进制文件,C ++可以轻松编写二进制文件。图像格式包括许多复杂的压缩算法,所以这样做并不容易。

它通常最好使用一个C ++库来处理这些文件的加载/保存,这样你就可以担心更重要的事情,比如你真的喜欢这些图片。

Imaghttp://www.imagemagick.org是一个很受欢迎的开源项目,但还有很多其他项目。