Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





SDL pérdida de color 16 a 32 bits

Iniciado por hiperbou, 19 de Enero de 2008, 08:07:27 PM

« anterior - próximo »

hiperbou

Hola estoy cargando un gráfico de forma "manual" desde un fichero a una SDL_Surface.
El gráfico es de 16 bits, y después de cargarlo lo convierto con SDL_DisplayFormat al formato de pantalla.
El caso es que en el modo de pantalla de 16 bits, funciona correctamente, pero al usar el modo de video de 32 bits, los colores salen cambiados..
Por ejemplo el color que uso de colorkey para hacerlo transparente es el (255,0,255) pero el color que resultante es (248,0,248) cargandose la transparencia por colorkey y el resto de colores también están sutilmente cambiados...

Si no convierto la imagen cargada con SDL_DisplayFormat funciona todo correctamente..

A que podría ser debido esto?? El código no parece tener nada raro.. xD
   SDL_SetColorKey(image,SDL_SRCCOLORKEY|SDL_RLEACCEL,SDL_MapRGB(image->format,colorkey_r,colorkey_g,colorkey_b));
temp_graph=SDL_DisplayFormat(image);
SDL_FreeSurface(image);
image=temp_graph;


Podría simplemente eliminar la conversión al formato de pantalla para el modo de 32 bits.. pero la verdad es que me intriga por que pasa esto.. xd


hiperbou

Cita de: "Martinez"Prueba con http://www.libsdl.org/cgi/docwiki.cgi/SDL_5fConvertSurface

Ya lo había probado antes, olvidé mencionarlo XD

Creo que el problema está en las variables colorkey_r,_g y _b, que las declaro como int y deberían ser Uint8... lo confirmo cuando pueda que ahora no estoy en mi pc..

Edito: Nada, sigo con lo mismo...






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.