Asuntos Oficiales > Retos
Formato Bmp
senzao18:
He resuelto lo del padding despues de tanto buscar en internet jejee
Mi error fue que leia los byte del padding despues de cada pixel y se leen despues de cada linea horizontal. bueno asi me salio a mi jeje...
ahora el problema que tengo es con el ancho y alto de la imagen
por ejemplo cuandpo leo los 3 bytes del ancho tengo lo siguiente:
70, 0 ,0 Aqui no hayproblema el ancho es de 70...
Pero cuando me regresa
70, 2, 0 Ahi si no se como se calcula el ancho...... Alguna idea de como se calcula???
Imagino que ustedes leen los 3 byte en una variable de un tipo que soporte los tres byte y no en un arreglo y al leerlo ya les da el ancho sin tener que calcular pero pues yo leo 3 bytes en un arreglo y no tengo idea de como se calcula :(.
JuanK:
--- Cita de: "senzao18" --- Mi error fue que leia los byte del padding despues de cada pixel y se leen despues de cada linea horizontal. bueno asi me salio a mi jeje...
--- Fin de la cita ---
asi es.. de eso hemos hablado en casi todo el thread :P
--- Citar ---por ejemplo cuandpo leo los 3 bytes del ancho tengo lo siguiente:
70, 0 ,0 Aqui no hayproblema el ancho es de 70...
Pero cuando me regresa
70, 2, 0 Ahi si no se como se calcula el ancho...... Alguna idea de como se calcula???
Imagino que ustedes leen los 3 byte en una variable de un tipo que soporte los tres byte y no en un arreglo y al leerlo ya les da el ancho sin tener que calcular pero pues yo leo 3 bytes en un arreglo y no tengo idea de como se calcula
--- Fin de la cita ---
No te lies, el ancho es un entero de 4 bytes, asi que nada mas lee los cuatro bytes del archivo en una variable entera, sino sabes como hacerlo con la tecnica que usas de byte a byte sirve pero debes hacer operaciones binarias para convertir los 4 bytes en nun int utilizando corrimientos de bytes y/o operadores | &
Enko:
--- Citar ---He resuelto lo del padding despues de tanto buscar en internet jejee
--- Fin de la cita ---
Acaso nadie lee los posts del thread? :devil:
senzao18:
Si los lei todos por recomendacion de JuanK, pero la verdad fue en horas de trabajo asi que los lei a la carrera jaja. Y me hice bolas. :P.
Geo:
--- Cita de: "senzao18" --- He resuelto lo del padding despues de tanto buscar en internet jejee
Mi error fue que leia los byte del padding despues de cada pixel y se leen despues de cada linea horizontal. bueno asi me salio a mi jeje...
ahora el problema que tengo es con el ancho y alto de la imagen
por ejemplo cuandpo leo los 3 bytes del ancho tengo lo siguiente:
70, 0 ,0 Aqui no hayproblema el ancho es de 70...
Pero cuando me regresa
70, 2, 0 Ahi si no se como se calcula el ancho...... Alguna idea de como se calcula???
Imagino que ustedes leen los 3 byte en una variable de un tipo que soporte los tres byte y no en un arreglo y al leerlo ya les da el ancho sin tener que calcular pero pues yo leo 3 bytes en un arreglo y no tengo idea de como se calcula :(.
--- Fin de la cita ---
Como dice Juank, el ancho es un entero de 4 bytes (un DWORD en la WinAPI), si usas fread puedes fácilmente leer esos 4 bytes en una sola operación de lectura. Si lo estás haciendo byte a byte, toma los 4 bytes y únelos con algo como:
--- Código: Text --- DWORD hiword = 0xaabb;DWORD loword = 0xccdd; DWORD resultado = ( hiword << 16 ) + loword; // resultado = 0xaabbccdd; Aquí lo hice con dos variables de 2 bytes, se "unen" para formar una de 4 bytes, puedes hacer algo similar con los 4 bytes que lees del archivo y representan el ancho de la imagen.
Una cosa, ¿con qué lenguaje estás trabajando :D?
Saludos,
JJ (Geo).
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa