Soyez le premier à donner votre avis sur cette source.
Snippet vu 18 353 fois - Téléchargée 26 fois
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); }
je l'ai un peu améliorer pour que cela puisse être un dégradé de plusieurs couleurs ! si ça intéresse quelqu'un :
<script language="javascript" type="text/javascript">
var nbpart = 0;
var arrayPartieTexte = new Array;
function degraderBicolore(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(''+texte.charAt(i)+'');
}
}
// Fonction de conversion decimal/hexadecimal
function DEC_HEXA(dec)
{
var hexa='0123456789ABCDEF';
return hexa.charAt(Math.floor(dec/16)) + hexa.charAt(dec%16);
}
function Decouper(txt,nb)
{
if((nb<2)||(txt=="")){ arrayPartieTexte[nbpart] = txt; }
else
{
tmp = txt.substr(0,Math.round(txt.length/nb));
txt2 = txt.substr(Math.round(txt.length/nb));
arrayPartieTexte[nbpart] = tmp;
nbpart = nbpart + 1;
Decouper(txt2,nb-1);
}
}
function Degrader(texte,couleurs)
{
var arrayCouleurs = couleurs.split('|');
var nbrCouleur = arrayCouleurs.length-1;
nbpart = 0;
arrayPartieTexte = new Array;
Decouper(texte,nbrCouleur);
for (i=0;i<nbrCouleur;i++)
{
degraderBicolore(arrayPartieTexte[i],arrayCouleurs[i],arrayCouleurs[i+1]);
}
}
degraderBicolore('test d\' un degrader noir vers blanc !', '000000', 'FFFFFF');
document.write('
');
Degrader('test d\' un degrader multicolore !', '0000ff|ffffff|ff0000');
</script>
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.