
j'ai un problème lors de la sauvegarde d'image à l'aide de la SDL sur les calculettes en niveaux de gris : l'image n'est pas enregistrée et est entièrement noire.

Pour enregistrer une image à l'aide de la SDL j'utilise ce code :
- Code: Select all
saveImage = SDL_CreateRGBSurface(SDL_SWSURFACE, area.w, area.h, is_cx? 16:8, 0, 0, 0, 0);
SDL_BlitSurface(scr, &area, saveImage, NULL);
Je créé ma surface puis je la remplis avec mon image, c'est cela l'idée.
Sur CX cela marche bien(les pixels sont enregistrés en 16 bits), mais pas sur les non-CX où il n'y a que 8 bits par pixel.
Je suis allé voir la documentation de la SDL sur la fonction SDL_CreateRGBSurface : http://sdl.beuc.net/sdl.wiki/SDL_CreateRGBSurface mais je n'ai malheureusement pas tout compris.
If bitsPerPixel is 8 an empty palette is allocated for the surface, otherwise a 'packed-pixel' SDL_PixelFormat is created using the [RGBA]mask's provided
Cette phrase en particulier. Je ne la comprends vraiment pas et j'ai l'impression qu'elle est la solution à mon problème. Si quelqu'un qui a de l'expérience dans la gestion d'image saurait m'expliquer, cela m'aiderait beaucoup
