Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function hexToRgb(hex)
- {
- var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
- return result?
- {
- r: parseInt(result[1],16),
- g: parseInt(result[2],16),
- b: parseInt(result[3],16)
- }:false;
- }
- function rgbToHex(r,g,b)
- {
- return '#'+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1);
- }
- /*
- Variables de la fonction brightColor() par rAthus :
- - color_hex (string, obligatoire) couleur au format hexadécimal (exemple : '#0D3775')
- - supervif (booléen, facultatif) force une couleur très vive si true, sinon augmente jusqu'à un minimum de 50% de luminosité
- */
- function brightColor(color_hex,supervif)
- {
- if (typeof(supervif)=='undefined')
- supervif = false;
- var color_hex_nohash = color_hex.replace('#','');
- if (color_hex_nohash.length==3)
- color_hex = '#'+color_hex_nohash+color_hex_nohash;
- var color_rgb = hexToRgb(color_hex);
- if (!color_rgb || ((color_rgb.r+color_rgb.g+color_rgb.b)/3>=255/2) || (supervif && (color_rgb.r==255 || color_rgb.g==255 || color_rgb.b==255)))
- return color_hex;
- color_rgb.r = color_rgb.r_old = color_rgb.r||1;
- color_rgb.g = color_rgb.g_old = color_rgb.g||1;
- color_rgb.b = color_rgb.b_old = color_rgb.b||1;
- while (((color_rgb.r+color_rgb.g+color_rgb.b)/3<255/2) || (supervif && (color_rgb.r<255 && color_rgb.g<255 && color_rgb.b<255)))
- {
- color_rgb.r = color_rgb.r*1.1;
- color_rgb.g = color_rgb.g*1.1;
- color_rgb.b = color_rgb.b*1.1;
- if (color_rgb.r>255)
- color_rgb.r=255;
- if (color_rgb.g>255)
- color_rgb.g=255;
- if (color_rgb.b>255)
- color_rgb.b=255;
- }
- color_rgb.r = Math.round(color_rgb.r);
- color_rgb.g = Math.round(color_rgb.g);
- color_rgb.b = Math.round(color_rgb.b);
- return rgbToHex(color_rgb.r, color_rgb.g, color_rgb.b);
- }
- // exemple d'éclaircicement d'un bleu foncé :
- console.log(brightColor('#263D61'));
- console.log(brightColor('#263D61',true));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement