Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: erickgracia en 26 Octubre 2015, 10:05 am



Título: Crear imagenes a partir de codigo?
Publicado por: erickgracia en 26 Octubre 2015, 10:05 am
Buenas tengan, estoy teniendo una duda con respecto al como es posible crear un archivo de imagen mediante código, tomando en cuenta que todos los archivos tienen un trasfondo binario  ;D, y quisiera saber si alguen me pudiera explicar , por lo menos con pseudocódigo como sería posible generar una cadena de información de 1 y 0´s (o codigo hexadecimal, la verdad no tengo idea como esta confomada un formato de imagen ya que nunca tuve la oportunidad de estudiar una ingeniería  >:( )

dejo un ejemplo base para dar idea:

* ¿Como se podria generar/exportar una imagen... digamos .png a partir de leer un archivo .jpg (o mediante puro codigo :D ), y que el archivo nuevo sea legible por un programa que muestre imagenes?

-Esto por supuesto ya sabiendo los codigos de los metadatos, el número mágico, etc.


Perdon si esta posteado en la sección equivocada, pero tengo un considerable conocimiento en c++ y debido al manejo de memoria dinámica que ofrece este lenguaje me parece el lugar adecuado para postear mi duda :D


-De antemano gracias por su tiempo


Título: Re: Crear imagenes a partir de codigo?
Publicado por: ivancea96 en 26 Octubre 2015, 10:44 am
JPE es un formato comprimido, así que no te lo recomiendo para empezar.
BMP es de los más sencillos, pero te recomiendo uno mucho más simple: PBM

PBM tiene 6 formatos: archivo blanco y negro, archivo en escala de grises, y archivos en color RGB. Todos estos en ASCII. Luego, cada uno de estos tienen su homólogo en binario.

Es de los más simples para empezar. Eso sí, no lo abren todos los editores de imagen. Photoshop, por ejemplo, sí.

https://en.wikipedia.org/wiki/Netpbm_format (https://en.wikipedia.org/wiki/Netpbm_format)

El problema de los formatos es que tienes que conocerlos. Eso es todo. Una vez sepas como es el formto (o sigas una guía para generarlo), ya solo es crear el código que lo genere.

Con PBM puedes hacerlo hasta a mano.

PBM versión 6 (P6), es RGB en binario. El mejor formato, pues es el menos pesado, y el más rápido de trabajar en programación. Te animo a hacer un programa para él :D!