我有一个代码可以加载图像文件,写入图像中的像素并保存图像。这个方法在循环中调用,每次加载图像,其中一个像素将被写入一个值,然后保存图像。一些像素写成功。但是在循环结束之前的某个时候,CImg会抛出异常,
*** cmg :: fopen():无法打开'kalyan.bmp'文件'wb'模式。
我的代码段如下:
void FrameBuffer::writePixelToImage(int x, int y, Color c)
{
std::cout << "Kalyan! in writePixelToImage" << endl;
string str = _filename;
CImg <unsigned char> outPutImage;
outPutImage.load(str.c_str());
std::cout << "Kalyan! after loading in writePixeltoImage" << endl;
std::cout << "x: " << x << " y: " << y << endl;
outPutImage(x, y, 0, 0) = c.red;
outPutImage(x, y, 0, 1) = c.green;
outPutImage(x, y, 0, 2) = c.blue;
std::cout << "Kalyan! after writing color in writePixeltoImage" << endl;
outPutImage.save(str.c_str());
}
函数writePixelToImage在循环中被多次调用。 任何帮助表示赞赏。