Hola!
He empezado a aprender C. He encontrado una página en la que se enumeran todas las funciones que incluye c, la biblioteca a la que pertenecen y para qué se utilizan. Sin embargo no he visto ninguna función que trabaje con imágenes o gráficas de funciones. Después de buscar he visto que existen bibliotecas externas que se pueden utilizar para esto. Aún así, quería aprender a trabajar con imágenes sólo con las bibliotecas que existen por defecto en c.

Hasta ahora lo que he encontrado es que los archivos se pueden abrir en hexadecimal. Cada formato de imágen (y cualquier archivo en general) tiene una firma hexadecimal en la cabecera. Además según el formato se guarda cada pixel de forma distinta, (4bits, 8bits, 24bits...). Sabiendo esto he creado una imagen en paint (.png) de dos píxeles uno negro y uno blanco y he utilizado un programa para abrila en hexadecimal. Efectivamente se encontraba la firma al principio. Sin embargo, para ser una imagen de dos píxeles había más números de los que esperaba y en ningún sitio he encontrado algo que especificase el tamaño de la imagen o los colores blanco (ff,ff,ff) o negro (0,0,0). En otro intento he creado una imagen mucho más grande y todo de un mismo color gris (5f,5f,5f) al abrirlo tampoco he encontrado nada que se asemejase al color o el tamaño; y sorprendentemente no era mucho más largo que la imagen de dos píxeles. Lo que he pensado es que a lo mejor lo que estaba viendo eran instrucciones en ensamblador para mostrar la imagen. A lo mejor me he desviado del tema. Lo que quiero saber es, como guardar una imagen en un formato específico, supongo que no es tan fácil como poner la firma, el tamaño y el rgb de cada pixel. Además tiene que ser en hexadecimal? que se pueda interpretar en hexadecimal no quiere decir que sea eso lo que recibe el visualizador de imágenes, (a lo mejor hay que guardarlo en binario o ascii o que se yo).
Gracias con antelación.