Buenas a todos,
Estoy haciendo una pequeña actualización de mi programita de dibujo, y estoy teniendo problemas con la interpretacion de los colores. Os pongo en situación...
Como no domino demasiado el tema de los colores (32 bits, 16, colores indexados...) he decidido trabajar sólo con 24 bits, por lo que inicialmente creo una imagen de 24 bits de la siguiente forma:
Código:
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
#define RMASK 0xff0000
#define GMASK 0x00ff00
#define BMASK 0x0000ff
#else
#define RMASK 0x0000ff
#define GMASK 0x00ff00
#define BMASK 0xff0000
#endif
canvas->image = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 24, RMASK, GMASK, BMASK, 0);
Cuando cargo cualquier imagen directamente le hago lo siguiente para pasarla a 24 bits:
Código:
SDL_Surface* formated_image = SDL_ConvertSurface(new_image, _canvas->image->format, 0);
La imagen no se muestra correctamente, aparece con los colores cambiado, ¿alguien sabe así a bote pronto qué estoy haciendo mal?
Desde ya gracias
< - >
Añado que aunque la imagen no se muestra correctamente, si la guardo sí que se guarda con los colores que tenía la imagen original.
Marcadores