cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010
-
15 avril 2008 à 14:50
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010
-
15 avril 2008 à 14:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 15 avril 2008 à 14:50
Superbe ! c'est exactement ce que je cherchait !
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 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>
15 avril 2008 à 14:50
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>