Degrade de texte 2 couleurs

Contenu du snippet

Cette fonction écrit du texte en dégradé à partir de 2 couleurs hexadécimales

Source / Exemple :


function DEGRADE(texte, couleur1, couleur2)
{
     var rgb=new Array();
     var color,i,j;
     for (i=0;i<3;i++) rgb[i]=new Array();

     //  Les couleurs hexadécimales sont changées en couleurs décimales rgb
     for (i=0;i<3;i++)
     {
          rgb[0][i]=parseInt(couleur1.substring(i*2,i*2+2),16);   //couleur1 rgb
          rgb[1][i]=parseInt(couleur2.substring(i*2,i*2+2),16);   //couleur2 rgb
   
          //  Variables d'incrément de la couleur1
          rgb[2][i]=(rgb[1][i]-rgb[0][i])/texte.length
     }
	
     //  Chaque lettre a sa propre couleur. 
     for (i=0; i<texte.length; i++ ) 
     {
          //  On incrémente au fur et à mesure la couleur1
          color='';
          for (j=0; j<3; j++ ) color+=DEC_HEXA(rgb[0][j] + i * rgb[2][j]);

          //  Affichage d'une lettre
          document.write('<font color="#'+color+'">'+texte.charAt(i)+'</font>');
     }
}

//  Fonction de conversion decimal/hexadecimal
function DEC_HEXA(dec)
{
     var hexa='0123456789ABCDEF';
     return hexa.charAt(Math.floor(dec/16)) + hexa.charAt(dec%16);
}

Conclusion :


La fonction de conversion decimal/hexadecimal ne permet ici que de convertir un nombre compris entre 0 et 255. Si vous en cherchez une autre :

http://www.javascriptfr.com/article.aspx?Val=429

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.