Cómo convertir imágenes en formato .BMP a .RAW usando programación
Código del programa (versión c):
#includelt;iostream.hgt;
#includelt;stdio.hgt;
void main()
{
char nombre de archivo[50];
char sin firmar oi[128][128]; ii[128][128];
int Row=128, Col=128; //Definir largo y ancho
coutlt;lt;"Ingrese el archivo para abrir:" lt; lt; endl;
cingt; gt;
ARCHIVO *fp; )==0)//Ingrese el archivo que desea abrir
{
coutlt;lt;"¡No se puede abrir el archivo, presione cualquier tecla!"lt;lt;endl;// Si no se puede abrir, error
getchar();
return
}
fseek(fp, 1078L, 0); //
fread(ii, 1, 128*128, fp);
fclose(fp);
for(int k=0; klt; Fila; k )
for(int j=0;jlt;Col;j )
{
oi[k][j]=ii[Fila -k -1][j]; //Convierte coordenadas.
Si inicialmente i=127, después de la conversión fila-127-1=128-127-1=0
coutlt;lt;(int)oi[k][j]lt;lt;" ";
if((k*Fila j)10==0)
coutlt;lt;endl;
}
coutlt;lt ;endl;
coutlt;lt;"************************************ * ********************************************"lt;lt ; endl;
ARCHIVO *fp1;
coutlt;lt;"Ingrese el archivo para abrir:"lt;lt;endl;
cingt;gt ; nombre de archivo;
if((fp1=fopen(filename, "wb"))==0)//Ingrese el archivo que desea abrir
{
coutlt ;lt; "No se puede abrir el archivo"lt;lt; endl; //Si no se puede abrir, se informará un error
getchar();
return;
}
fwrite(oi, 1, 128*128, fp1);
fclose(fp1);
coutlt; endl;
coutlt;lt;"************************************ ************ *************************************"lt ;lt;endl;
coutlt;lt;"El archivo ha sido guardado, ¡gracias por usarlo!"lt;lt;endl;
}
versión en lenguaje c:
#include lt;stdio .hgt;
#includelt;stdlib.hgt;
carácter estático sin firmar ii[128][128 ];
int Row=128, Col=128 ;
char file_name[40];
Load_data_file()
{
int f1;
int i, n;
bits de salida largos sin firmar
ARCHIVO *fp; printf("Ingrese el nombre del archivo original: ");
scanf("s", nombre_archivo
f1=Col*Row; (fp=fopen(file_name, "rb"))==0)
{
printf("¡No se puede abrir el archivo, presione cualquier tecla!\n"); >
putchar(0x07);
getchar ();
salir(0x07);
fseek(fp); , 10L, 0);
fread(amp; offbits, 4, 1, fp);
printf("offBits=ld\n",offbits);
printf("presione cualquier tecla para continuar\n");
putchar(0x07);
getchar();
fseek(fp,offbits,0);
if(fread(ii,1,f1,fp)!=f1)
{
printf("Error de lectura de archivo\n");
putchar(0x07
getchar(); > salir(0);
}
fclose(fp);
}
void main()
;{ ARCHIVO * fp;
carácter sin firmar oi[128][128];
int f2=Col*Fila, i, j; Load_data_file();
for(i=0;ilt;Row;i)
for(j=0;jlt;Col;j)
{
oi[i][j]=ii[Fila-i-1][j];
printf("d ",oi[i][j]);
}
printf("\n");
printf("Ingrese el nombre del archivo guardado:
scanf("); s", nombre_archivo);
if((fp=fopen(nombre_archivo, "wb"))==0)
{
printf("No se puede abrir archivo\n");
return;
}
if(fwrite(oi, 1, f2, fp)!=f2)
printf("Error de escritura de archivo\n");
fclose(fp);
getchar()
return; >
}
Nota: La imagen en formato bmp debe ser de 8 bits y el profesor deberá facilitarla.