Сохранение числового двумерного массива в изображение - PullRequest
7 голосов
/ 03 декабря 2010

В последнее время я занимался программированием численных методов на языке C. Для исправления ошибок и устранения неполадок было бы неплохо иметь некоторое визуальное представление о том, что происходит.До сих пор я выводил области массива на стандартный вывод, но это не дает такой большой информации.Я также немного поигрался с gnuplot, но я не могу получить его слишком, за исключением только изображения, не системы координат и всего прочего.

Так что я ищу учебник или, возможно, библиотекучтобы показать мне, как сохранить массив из c в изображение, было бы особенно приятно иметь возможность сохранять цветные изображения.Преобразование из числового значения в цвет не является проблемой, я могу рассчитать это.Было бы хорошо, если бы кто-то указал мне несколько полезных библиотек в этой области.

С наилучшими пожеланиями

1 Ответ

10 голосов
/ 03 декабря 2010

Вы можете использовать формат файла .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);
...