Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
791 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Algo de génération de dégrade [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algo de génération de dégrade [RESOLU]

n°420697
Joel F
Real men use unique_ptr
Posté le 07-06-2003 à 21:56:18  profilanswer
 

Voila je veux générer un dégradé de 255 couleurs a partir d'une couleur de depart en RGB et d'une couleur d'arrivée en RGB aussi. Une premiére idée avait été de passer en YUV (ou equivalent) et de faire des modifs sur U ou/et V mais c bof ...
 
Comment puis-je m'y prendre ...
 
Merci
 
PS : j'utilise Allegro :P


Message édité par Joel F le 08-06-2003 à 10:16:23
mood
Publicité
Posté le 07-06-2003 à 21:56:18  profilanswer
 

n°420699
skeye
Posté le 07-06-2003 à 22:12:08  profilanswer
 

Joel F a écrit :

Voila je veux générer un dégradé de 255 couleurs a partir d'une couleur de depart en RGB et d'une couleur d'arrivée en RGB aussi. Une premiére idée avait été de passer en YUV (ou equivalent) et de faire des modifs sur U ou/et V mais c bof ...
 
Comment puis-je m'y prendre ...
 
Merci
 
PS : j'utilise Allegro :P


Première idée, surement conne:
1) Calculer les valeurs absolues des différences R1-R, G1-G2, B1-B2
2) Diviser les resultats par 255 / 3, ca te donne les pas de décalage.
3) Tu boucles 255 fois, et à chaque fois tu modifies R1, G1 ou B1 (à tour de role) du pas de décalage qui va bien de façon à les faire tendre vers R2G2B2...
 
A priori tu devrais pas être trop mal, à condition d'avoir des couleurs assez différentes à la base...non?

n°420714
Joel F
Real men use unique_ptr
Posté le 07-06-2003 à 22:38:21  profilanswer
 

euh bof ...
essaye avec RGB(10,255,64) et RGB(10,255,63) et tu va voir que c'est pas si simple :/
 
J'ai l'impression que l'espace RGB ne se prete pas bien au interpolation ...

n°420727
theshockwa​ve
I work at a firm named Koslow
Posté le 07-06-2003 à 22:48:41  profilanswer
 

dithering, dans ce cas là ?


---------------
last.fm
n°420730
skeye
Posté le 07-06-2003 à 22:51:50  profilanswer
 

Joel F a écrit :

euh bof ...
essaye avec RGB(10,255,64) et RGB(10,255,63) et tu va voir que c'est pas si simple :/
 
J'ai l'impression que l'espace RGB ne se prete pas bien au interpolation ...


D'un autre coté un dégradé entre 2 couleurs voisines je vois pas trop l'intéret... [:skeye]

n°420738
Ace17
Posté le 07-06-2003 à 23:09:02  profilanswer
 

Tu es en 32 bits au moins?

n°420745
Joel F
Real men use unique_ptr
Posté le 07-06-2003 à 23:26:18  profilanswer
 

@skeye : ouaip bon mon exemple etait bidon ...
 
Oui je suis en 32bits.

n°420841
Joel F
Real men use unique_ptr
Posté le 08-06-2003 à 10:16:07  profilanswer
 

Bon ben mea culpa :
 

Code :
  1. test_gradient = create_bitmap(254,1);
  2.     r1 = 255;
  3.     g1 = 27;
  4.     b1 = 199;
  5.     r2 = 0;
  6.     g2 = 255;
  7.     b2 = 32;
  8.     dr=(r2-r1)/255.0;
  9.     dg=(g2-g1)/255.0;
  10.     db=(b2-b1)/255.0;
  11.     for( i=0;i<255;i++ )
  12.     {
  13.         putpixel( test_gradient, i, 0, makecol(r1,g1,b1) );     
  14.         r1 += dr;
  15.         g1 += dg;
  16.         b1 += db; 
  17.     }


 
fonctionne bien ?? Pourtant avant non ??? une erreur de ma part donc :P
Merci encore a tous.

n°420847
skeye
Posté le 08-06-2003 à 10:31:27  profilanswer
 

Joel F a écrit :

Bon ben mea culpa :
 

Code :
  1. test_gradient = create_bitmap(254,1);
  2.     r1 = 255;
  3.     g1 = 27;
  4.     b1 = 199;
  5.     r2 = 0;
  6.     g2 = 255;
  7.     b2 = 32;
  8.     dr=(r2-r1)/255.0;
  9.     dg=(g2-g1)/255.0;
  10.     db=(b2-b1)/255.0;
  11.     for( i=0;i<255;i++ )
  12.     {
  13.         putpixel( test_gradient, i, 0, makecol(r1,g1,b1) );     
  14.         r1 += dr;
  15.         g1 += dg;
  16.         b1 += db; 
  17.     }


 
fonctionne bien ?? Pourtant avant non ??? une erreur de ma part donc :P
Merci encore a tous.


[:cupra]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Algo de génération de dégrade [RESOLU]

 

Sujets relatifs
[html/css] caler une ligne de texte tout en haut de la page ? [résolu]impossible de centrer [résolu]
(Résolu) Comment mettre un bouton (UserForm) sur une feuille excel ?[vb.net ou c#] charger un document [resolu]
[Résolu] paintComponent pas appelé lors d'un resize window...[VBA/Access] Copier un formulaire d'une appli à une autre [résolu]
[PHP] Debutant sur session [Résolu]Tester si un recordset est vide [RESOLU, merci]
Commande avec 2 parametres : ERREUR ----------- RESOLUMySQL -> SQL ... petite question... [résolu]
Plus de sujets relatifs à : Algo de génération de dégrade [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR