| Artículos | 01 SEP 1995

Truco 134: Ficheros BMP

Tags: Histórico
Aurelio Llorente.

Las funciones que se adjuntan sirven para cargar o salvar una imagen en formato BMP en 256 colores. Ambas funciones están creadas de forma que operan independientemente de si el modo gráfico es 320x200x256 (abierto con la interrupción 10h) o de si se ha abierto por medio de algún controlador de Borland para 256 colores (p.e.VGA256.BGI) bastará indicarlo a la función por medio de un entero que será 1 si se ha abierto con un controlador y 0 en caso contrario.

CARGA_BMP_256: se le pasan como parámetros las coordenadas de la esquina superior izquierda de la pantalla donde se comenzará a colocar la imagen, el nombre del fichero que contiene la imagen, y si hay o no controlador instalado.

SALVA_BMP_256: se le pasan como parámetros las coordenadas de la esquina superior izquierda del rectángulo de pantalla que se desee salvar, así como el tamaño de la imagen que se desee grabar. También se le debe pasar un puntero a la paleta RGB (en el ejemplo se puede ver como obtenerlo), el nombre del fichero que contendrá la imagen y si hay o no un controlador instalado.

En el ejemplo que se adjunta se hace una demostración de ambas funciones. Ha sido compilado con BC++ 3.1 creando un proyecto en el que se incluyan los tres ficheros C. El modo gráfico ha sido abierto por medio de la interrupción 10h. Si se dispone del controlador VGA256.BGI se puede abrir añadiendo la función:

int huge detecta() {return 0;}

y sustituyendo en el código la apertura del modo gráfico por:

gdriver = installuserdriver("VGA256",detecta);

gdriver = DETECT;

initgraph(&gdriver, &gmode, "");

DRV_INSTALADO=1;

Nota: no se ha realizado ninguna comprobación de si hay problemas al abrir o grabar en algún fichero, para no alargar demasiado el listado, pero es bastante sencillo de realizar.

Para ejecutar el ejemplo se debe tener una imagen BMP en 320x200x256 colores llamada IMAGEN.BMP en el directorio del programa.

Sergio Sánchez González

(Granada)

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información