PDA

Ver la versión completa : Conversion de Imagenes



Croc
05/01/2005, 21:27
Wenas!

Estoy intentando mostrar una imagen bmp a pantalla completa en la gp. Lo que he hecho es escalarla a 320x240 y transformarla a 8 bits (de la paleta ya me he encargado).
El problema me viene cuando intento convertirla a un array para cargarla con la funcion GpBitBlt (stoy usando el SDK oficial). Para convertir la imagen uso las utilidades bmp2raw y raw2c ke vienen en el SDK de Mirko, cuyo funcionamiento es realmente sencillo y solamente meten cada byte de imagen en una posicion del array. Sin embargo, la imagen resultante sale distorsionada, se intuye xo sale como cuando sintonizas un canal mal en la tele, con niebla y la imagen x triplicado. He probado a usar el GP32Converter tanto desde el bmp directamente como desde el fichero resultante del bmp2raw y entonces la imagen sale bien, xo ese conversor no puedo emularlo bien desde Linux :(.
No es problema del bmp2raw xq con el GP32Converter saca la imagen correcta usando el raw ke genera. Pero el array ke genera comparado con el raw2c no tiene nada ke ver. Estudiando el codigo del raw2c su funcionamiento es bastante intuitivo y es lo ke yo haria si lo implementara, xo el GP32Converter debe hacer algun tipo de transformacion ke no alcanzo a comprender.
Como una imagen vale mas ke mil palabras adjunto como se ve con el raw2c y como se ve con el GP32Converter usando la misma funcion de dibujo (en la GP se ve igual ke en el emu) (y no le hagais mucho caso a la imagen en si :D)

Ke utilidades hay para convertir imagenes a array en Linux, o como debo tratar el array xa verlo correctamente sin usar el GP32Converter??

Logann
05/01/2005, 22:05
Bueno, solo viendo estas dos imagenes me parece que la unica diferencia es el orden que siguien, mientras en uno son filasxcolumnas el otro es columnas por filas.

Me imagino que esto es:

para cada i
para cada j
nueva[i][j] = original[j][i]

El for recoriendo de 8 bits en 8 bits ._.

Puck2099
05/01/2005, 23:00
Exacto, como dice Logann hay que rotar la imagen porque la GP32 las muestra rotadas por pantalla.

Saludos

Aiken
05/01/2005, 23:26
El gp32converter se encarga de rotarlas.

Aparte es una tonteria pero creo recordar que si los tamaños de las imagenes eran multiplos de 4 iba bien.

Puede que esto ultimo no sea pero pruebalo, porque el GP32Converter convierte las imagenes a multimplo de 4. ;) rellenando con 0x0 quizas el raw2c no lo haga.

Aiken

Croc
06/01/2005, 00:09
Wenas!

Muchas gracias, investigando sobre la rotacion de imagenes he descubierto ke el bmp2raw tiene una opcion de "rotate 90 degrees clockwise" que no aplica x defecto. A partir del nuevo raw he creado otra el array con el raw2c y ahora funciona perfectamente sin invertir las dimensiones de la imagen ni hacer un prerotado ni nada.
Kien iba a decir ke la gp es strabica y veia al reves?? :D

Salu2

oankali
07/01/2005, 19:57
El gp32converter se encarga de rotarlas.

Aparte es una tonteria pero creo recordar que si los tamaños de las imagenes eran multiplos de 4 iba bien.

Puede que esto ultimo no sea pero pruebalo, porque el GP32Converter convierte las imagenes a multimplo de 4. ;) rellenando con 0x0 quizas el raw2c no lo haga.

Aiken
No estoy muy seguro de que lo haga automáticamente, ya que si no lo hago yo manualmente antes de convertir, no me salen bien las imágenes y siempre utilizo GP32Converter.
Eso si, solo puedo hablar para imágenes en 16 bits para las cuales las dimensiones tienen que ser múltiplo de 8 y no de 4.




Kien iba a decir ke la gp es strabica y veia al reves??

La respuesta está en el hecho de que la pantalla de la GP32 es de PDA, o sea que internamente es una pantalla vertical. Por eso hay que rotar las coordenadas.

Rein
07/01/2005, 20:04
YO SI K ROTABA A LA DE LA FOTO :demonio:

anibarro
27/02/2005, 01:53
weno lo primero, saludos q todos, que este es mi primer post :chupete:
Luego queria preguntar a ver si sabeis como solucionar el problema que me da el gp32converter al ejecutarlo, me dice "The language DLL 'VB6FR.DLL' could not be found" y no se abre. He probado a copiar la libreria al mismo directorio, al directorio windows/system y a instalar el runtime del visual basic pero sigue dando el mismo error :( Tengo el windows xp sp2, ¿a nadie mas le pasa esto? gracias ;)

chemaris
27/02/2005, 02:14
bienvenido a esta, nuestra comunidad :D

lamentablemente no puedo ayudarte

Puck2099
27/02/2005, 11:22
weno lo primero, saludos q todos, que este es mi primer post :chupete:
Luego queria preguntar a ver si sabeis como solucionar el problema que me da el gp32converter al ejecutarlo, me dice "The language DLL 'VB6FR.DLL' could not be found" y no se abre. He probado a copiar la libreria al mismo directorio, al directorio windows/system y a instalar el runtime del visual basic pero sigue dando el mismo error :( Tengo el windows xp sp2, ¿a nadie mas le pasa esto? gracias ;)

¿Seguro que estás metiendo la librería indicada?. Por si acaso asegúrate de que es esa, la del Visual Basic en francés, no sea que le estés metiendo los runtime en inglés o español.

Saludos

bulbastre
27/02/2005, 13:14
bienvenido a esta, nuestra comunidad :D

lamentablemente no puedo ayudarte


Te veo inspirao mamonazo XDDDD

PD: Quién es la churri?

anibarro
27/02/2005, 13:30
¿Seguro que estás metiendo la librería indicada?. Por si acaso asegúrate de que es esa, la del Visual Basic en francés, no sea que le estés metiendo los runtime en inglés o español.

si, si...es francesa, supongo que todas las q se llamen vb6fr.dll seran francesas, me la he bajado de 3 paginas distintas y sigue sin ir :(
Yo lo queria para poder seguir con el tutorial de http://www.thaworx.co.uk/ninja/tut3.htm pero veo q tendre q buscar otro programilla. He visto por ahi uno q se llamaba bmp2bin.zip, a ver si me sirve ^_^ :lovegps:

oankali
28/02/2005, 08:07
Yo utilizo esta dll, a ver si te sirve.

anibarro
28/02/2005, 17:06
gracias oankali pero nada... :( tengo varias versiones diferentes de esa libreria, la 5 q me mandas, la 6...y nada. Anoche ya estaba desesperao e instale el windows xp en un pc virtual (del virtual pc) solo para poder ejecutar el programa, y me dice lo mismo!! Lo gracioso es q en el ordenador de mi hermana, que lleva el mismo windows q el mio, si que va :/
Pero bueno, aunque es mucho mas feo, al final me he apañao con el bmp2bin y el bin2c y ya se ve guay ^_^

Eskema
29/08/2005, 10:45
Aqui reflotando el post un poco veo que me encuentro el mismo problema que anibarro y el gpconverter no me tira ni patras, ni con la dll de oankali, (estos gabachos haciendo progs... XD)
He probado el gpbinconv de mirko y las imagenes salen totalmente distorsionadas, ¿aparte del bmp2bin hay otros progs que se puedan usar?
Saludos

oankali
29/08/2005, 14:21
Aqui reflotando el post un poco veo que me encuentro el mismo problema que anibarro y el gpconverter no me tira ni patras, ni con la dll de oankali, (estos gabachos haciendo progs... XD)
He probado el gpbinconv de mirko y las imagenes salen totalmente distorsionadas, ¿aparte del bmp2bin hay otros progs que se puedan usar?
Saludos

¿Qué error te da el GP32Converter?

Oankali.

jjdrako
29/08/2005, 14:43
a mi me ha dicho que le da un problema con una ocx, pero que esta usando el gpbinconv sin problemas