尝试用C++编写一个简单的PPM图像文件,代码如下:
#include <iostream>
const int image_height = 256, image_width = 256;
int main()
{
std::cout << "P3\n" << image_width << ' ' << image_height << "\n255\n";
for (int i = image_height - 1; 0 <= i; --i) {
for (int j = 0; j < image_width; ++j) {
int red = j; int green = i; int blue = 63;
std::cout << red << ' ' << green << ' ' << blue << '\n';
}
}
return 0;
}
字符串
我编译了它,然后将输出重定向到一个名为“image.ppm”的文件。我试着用GIMP打开它,但失败了。它说这是一个无效的文件。我的GIMP是最新版本,我已经检查了PPM文件格式;我写的东西似乎确实符合一般格式。我做错了什么?
1条答案
按热度按时间u0sqgete1#
显然,问题在于重定向。我应该直接写入文件,而不是将输出重定向到它。我想这与编码的魔力有关。