2010-12-03 30 views
6

Últimamente he estado haciendo algunos métodos de programación numérica en C. Para la corrección de errores y solución de problemas, es bueno tener una representación visual de lo que está sucediendo. Hasta ahora he estado generando áreas de matriz para la salida estándar, pero eso no proporciona tanta información. También he estado jugando un poco con gnuplot, pero no puedo obtenerlo demasiado, solo guardo la imagen, no el sistema de coordenadas y todas las demás cosas.Guardando matriz 2D numérica en la imagen

Así que estoy buscando un tutorial o tal vez una biblioteca que me muestre cómo guardar una matriz de c en una imagen, sería especialmente bueno poder guardar imágenes en color. La transformación del valor numérico a un color no es un problema, puedo calcular eso. Sería bueno que alguien me señale algunas bibliotecas útiles en este campo.

mejores deseos

Respuesta

9

Se puede usar el formato de archivo .ppm ... es tan simple que no es necesaria la biblioteca ...

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); 
+0

O, si usted es masoquista, trate de BMP: http: //en.wikipedia.org/wiki/BMP_file_format o http://msdn.microsoft.com/en-us/library/ms969901.aspx – ruslik

+0

He encontrado TGA realmente fácil de leer y escribir también. – Skurmedel

+0

Bueno, en realidad OP solicitó una biblioteca, y debería ocultar todo lo feo del formato binario. – ruslik