Page 1 of 1

Transparence des images

Unread postPosted: 04 Mar 2013, 20:41
by Sébastien Glauser
Voila ce dimanche je n'avais rien a faire je me suis donc mis a développer mon premier jeu pour ma TI-nspire CX CAS.

Un jeu 2D fait avec les bibliothèques SDL, mon jeu techniquement opérationnel, en revanche il est moche car je désirais afficher des images avec une transparence, j'ai eu beau chercher je n'arrive qu'à insérer le format bmp.

Mes connaissances en programmation sont assez faible.

Pour ceux que ça intéresse voila mon programme.
Télécharger

Est il possible de modifier la librarie SDL et de ne pas afficher les pixel blanc(255,255,255) ? Et comment s'y prend on ?

Ou existe il un autre moyen pour avoir une transparence sur une image

Re: Transparence des images

Unread postPosted: 04 Mar 2013, 21:11
by Hayleia
Je n'ai pas de réponse à ta question, et je ne sais pas si quelqu'un ici l'a (Matref utilise nSDL mais je sais plus s'il utilise des bmps ou pas). En tout cas, une personne qui pourra sûrement te répondre est Hoffa, le développeur de nSDL, sur Omnimaga, dans le topic de développement de nSDL. Je te suggère d'y faire un tour si tu n'obtiens pas de réponse ici.

Re: Transparence des images

Unread postPosted: 04 Mar 2013, 21:23
by Lionel Debroux
hoffa ne va pas répondre, il est injoignable pour des mois ;)

On peut effectivement faire de la transparence, mais je ne sais pas par coeur comment faire, je n'ai jamais utilisé nSDL.
Regarde Dodgin' Diamond 2X ( archives_voir.php?id=4888 ) ? :)

Re: Transparence des images

Unread postPosted: 04 Mar 2013, 21:30
by Hayleia
Lionel Debroux wrote:hoffa ne va pas répondre, il est injoignable pour des mois ;)

Ah ? Il est reparti ? Il était revenu à un moment, je pensais que c'était pour de bon.

Lionel Debroux wrote:On peut effectivement faire de la transparence, mais je ne sais pas par coeur comment faire, je n'ai jamais utilisé nSDL.
Regarde Dodgin' Diamond 2X ( archives_voir.php?id=4888 ) ? :)

Un peu offtopic mais pourquoi l'auteur de DD2X est-il Compu selon les archives de TI-Planet ?

Re: Transparence des images

Unread postPosted: 04 Mar 2013, 21:31
by Adriweb
Hayleia wrote:
Lionel Debroux wrote:On peut effectivement faire de la transparence, mais je ne sais pas par coeur comment faire, je n'ai jamais utilisé nSDL.
Regarde Dodgin' Diamond 2X ( archives_voir.php?id=4888 ) ? :)

Un peu offtopic mais pourquoi l'auteur de DD2X est-il Compu selon les archives de TI-Planet ?

Corrigé :)

Re: Transparence des images

Unread postPosted: 20 Mar 2013, 22:05
by Lepzulnag
Bon je réponds un peu tard mais ça aidera peut-être des gens.

Avec le format BMP il n'y a certes pas de transparence, mais tu peux choisir une couleur (en l’occurrence pour toi le blanc) qui sera considérée comme la couleur 'transparente' pour la SDL.

Il suffit d'utiliser la fonction SDL_SetColorKey de la sorte :

Code: Select all
// premièrement on ouvre l'image BMP
SDL_Surface *maSurface = SDL_LoadBMP(monFichierBMP);
// ensuite on définit la couleur qui sera considérée transparente
SDL_SetColorKey(maSurface, SDL_SRCCOLORKEY, maCouleurTransparente);



Après, si jamais tu ne sais pas comment déclarer ta couleur maCouleurTransparente c'est... assez chiant à écrire ^^ :

Code: Select all
Uint32 maCouleurTransparente = SDL_MapRGB(SDL_GetVideoSurface()->format, R, G, B);


Où R, G et B sont les composantes Rouge, Vert et Bleu. Soit (255,255,255) pour le blanc.

Si tu veux, la liste des fonctions de la SDL en Anglais est ici : http://sdl.beuc.net/sdl.wiki/SDL_API. Et sinon d'autres sites proposent des tutoriels, notamment le site du zéro.