将数字2D数组保存到图像

时间:2010-12-03 15:07:24

标签: c image numerical-methods

最近我在C中做了一些数值方法编程。对于bug修复和故障排除,很好地对所发生的事情有一些直观的表示。到目前为止,我一直在将数组区域输出到标准输出,但这并没有提供太多信息。我也和gnuplot一起玩了一下,但我不能得到它只保存图像,而不是坐标系和所有其他东西。

所以我正在寻找一个教程或者一个库来向我展示如何将数组从c保存到图像中,能够保存到彩色图像会特别好。从数值到颜色的转换不是问题,我可以计算出来。如果有人指出我在这个领域的一些有用的库的方向,那将是一件好事。

最好的问候

1 个答案:

答案 0 :(得分:10)

您可以使用.ppm文件格式......它非常简单,不需要库...

FILE *f = fopen("out.ppm", "wb");
fprintf(f, "P6\n%i %i 255\n", width, height);
for (int y=0; y<height; y++) {
    for (int x=0; x<width; x++) {
        fputc(red_value, f);   // 0 .. 255
        fputc(green_value, f); // 0 .. 255
        fputc(blue_value, f);  // 0 .. 255
    }
}
fclose(f);