PDA

Voir la version complète : [PSP][Aide] Modifier le ton des couleurs?


m3rguez
10/10/2006, 03h52
Salut!
Pour mon jeu je viens de créer un effet jour/nuit cependant je ne suis pas vraiment satisfait du résultat.
En gros j'ai fais des rectangles de différentes couleurs dont la transparence varie en fonction du temps.
Le problème c'est que je touche à la transparence et l'image devient fade:berk:
Donc j'aurais voulu savoir s'il est possible de changer le ton des couleurs de certaines image sans toucher à la transparence.
J'espère que vous pourrez m'aider là dessus!

Brunni
10/10/2006, 10h48
Oui l'alpha c'est pas terrible pour changer les teintes, vu que ça fait partir toutes les couleurs vers la couleur de destintation, même le noir et le blanc, réduisant le contraste et donc la qualité globale de l'image.
Tu peux essayer de teindre tes graphismes (oslSetAlpha(OSL_FX_TINT|OSL_FX_COLOR, RGB(255, 128, 0)) pour une teinte orange par exemple, à appeler avant de dessiner les gfx).
Une autre solution est d'utiliser la transparence par soustraction. Là forcément c'est l'inverse (si tu soustrais du bleu, il restera du rouge et du vert, soit une teinte jaunie) ;) oslSetAlpha(OSL_FX_SUB, 255) sauf erreur ^^
Voilà, désolé je n'ai pas trop le temps là maintenant, dis moi ce que t'arrives à faire, je repasserai ;)

m3rguez
10/10/2006, 13h25
Salut Brunni je te remercie pour ta réponse cependant mon problème persiste.
Avec OSL_FX_SUB l'image est vraiment teinte d'une couleur mais à la façon d'un négatif photo (c'est pas le top quoi!) :blink:
Puis second problème OSL_FX_TINT n'est pas reconnu, ça me dit que c'est la première utilisation de cette fonction. Donc je me demande si tu aurais pas une version d'OSlib plus récente que la mienne :unsure: .
Du coup je reste pour l'instant avec mes deux rectangles :hum:
oslDrawFillRect(0,0,480,272,RGBA(255,216,0,alphajo ur));
oslDrawFillRect(0,0,480,272,RGBA(33,0,88,betanuit) );

Brunni
10/10/2006, 16h32
Effectivement ta version est périmée, télécharge la dernière à partir du topic d'OSLib ;)

m3rguez
10/10/2006, 17h00
Effectivement ta version est périmée, télécharge la dernière à partir du topic d'OSLib ;)
Je viens de télécharger la version du topic de ta signature (oslib.h datant du 24/06/2006) et ça me dis la meme chose>_< .
En ouvrant le oslib.h il y a seulement
enum {OSL_FX_NONE=0, OSL_FX_FLAT, OSL_FX_ALPHA, OSL_FX_ADD, OSL_FX_SUB};

et pas OSL_FX_TINT :whst:
Ou puis je trouver la bonne version?:-'