C/Visual C - Mostrar imagenes bmp en c

 
Vista:
sin imagen de perfil

Mostrar imagenes bmp en c

Publicado por Enrique (1 intervención) el 29/04/2016 07:01:58
Buenas amigos, tengo un problema, como puedo visualizar imagenes bmp en c? por el momento solo tengo esto:


1
2
3
FILE  *archivo;
 archivo = fopen("hola.bmp", "rb");
putimage(200, 200, archivo, COPY_PUT);

y solo me visualiza una linea.
estuve buscando en google y encontre este codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void *imagen;
unsigned int tamImagen, ancho, alto;
FILE *archivo;
 
/* Antes que nada, inicias el modo gráfico (initgraph y demás)
... */
 
archivo = fopen("c:\\imagen.ima", "rb");
 
/* Leemos las dimensiones de la imagen */
fread(&ancho, sizeof(unsigned), 1, archivo);
fread(&alto, sizeof(unsigned), 1, archivo);
 
/* Obtemenos el número de bytes que
componen la imagen, para saber cuánta
memoria reservar */
tamImagen = imagesize(0, 0, ancho, alto);
imagen = malloc(tamImagen);
 
/* Volvemos al inicio del archivo
para leer de nuevo todo */
rewind(archivo);
fread(imagen, tamImagen, 1, archivo);
fclose(archivo);
 
/* Mostramos la imagen */
putimage(0, 0, imagen, COPY_PUT);


pero solo me muestra un pixel, la verdad es que es la primera vez que trabajo con ficheros, y es un trabajo de la universidad, estoy trabajando con tc20, agradezco de antemano sus respuestas y ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mostrar imagenes bmp en c

Publicado por Tom (619 intervenciones) el 29/04/2016 11:25:20
No hay que fiarse nunca de la extensión de los archivos sin más confirmación.
Un fichero .bmp en realidad puede ser cualquier cosa y si no te indican qué tipo de bitmap es ... no sabes nada y tendrás que hacer un poco de hackeo :)
Mira a ver si tienes suerte y la cabecera del fichero coincide con esto:

https://es.wikipedia.org/wiki/Windows_bitmap
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar