Formato crudo

 
Hardware
Modo 13h
Retrazado Vertical
Primitivas
La Paleta
Pantallas Virtuales
Sprites
Tablas Prefedifinidas
Efectos
Texto
Formatos gráficos
Periféricos
Optimizaciones
Herramientas
Cursos
Links
Foro
Correo Electrónico
El formato crudo es uno de los más fácil de cargar.  Este formato técnicamente no es un formato en sí, ya que la imagen no se encuentra comprimida. Que quiere decir esto, por ejemplo si queremos colocar una imagen de fondo para un juego que se hará en el modo 13h, necesitaremos una imagen de tamaño 320x200, lo cual implica que necesitaremos 64.000 bytes para guardar cada unos de los pixeles que conforma la imagen. Entonces esto quiere decir que nuestro archivo ocupará 64 Kb en disco. Además para cargar esta imagen necesitaremos conocer la paleta, por lo que habrá que tener un archivo de paleta aparte. En conclusión para cargar un archivo en formato crudo, necesitamos la imagen en sí (64 Kb) y la paleta (768 bytes). Comúnmente a las imágenes en formato crudo se le coloca la extensión RAW, así que nosotros tambien seguiremos la misma convención. Ahora veremos como cargar una imagen en crudo, es super simple:
 
int LoadRaw(char *filename, unsigned char *where)
{
    enum{ARCHIVO_NO_ENCONTRADO=0, ARCHIVO_NO_VALIDO=-1, OK=1};
    FILE *f;

    if((f=fopen(filename, "rb"))==NULL)  return ARCHIVO_NO_ENCONTRADO;

    if(filesize(f)!=64000)
    {
        fclose(f);
        return ARCHIVO_NO_VALIDO;
    }

    fread(where, sizeof(char), 64000, f);
    fclose(f);

    return OK;
}

Lo que hace esta función, es leer desde un archivo 64.000 bytes y guardarlos por ejemplo en una pantalla virtual.

Una ventaja de este formato es que es super rápido para cargarla en memoria. Como desventaja podemos decir que ocupa demasiado espacio en disco.



Ejemplo
 

Librería gráfica: vgalib.h
 

Ahora podrás ver un ejemplo que utiliza la función vista. Hay que tener en cuenta que para visualizar una imagen en crudo, se necesita antes cargar la paleta y setearla.
 

Ver ejemplo
 
 
 

Bajar todo Bajar todo (43.3 Kb)


Volver a formatos gráficos
1
Hosted by www.Geocities.ws

1