Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function rgbToHsl(r, g, b){
- r /= 255, g /= 255, b /= 255;
- var max = Math.max(r, g, b), min = Math.min(r, g, b);
- var h, s, l = (max + min) / 2;
- if(max == min){
- h = s = 0; // achromatic
- }else{
- var d = max - min;
- s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
- switch(max){
- case r: h = (g - b) / d + (g < b ? 6 : 0); break;
- case g: h = (b - r) / d + 2; break;
- case b: h = (r - g) / d + 4; break;
- }
- h /= 6;
- }
- return [h, s, l];
- }
- function rgb(str) {
- return str.split(',').map(function(part) { return parseInt(part.replace(/\D/g,''), 10); });
- }
- function greyscale() {
- Array.prototype.forEach.call(document.all, function(el) {
- var rgb_b = rgb(window.getComputedStyle(el).backgroundColor),
- rgb_f = rgb(window.getComputedStyle(el).color);
- var hsv_b = rgbToHsl(rgb_b[0],rgb_b[1],rgb_b[2]),
- hsv_f = rgbToHsl(rgb_f[0],rgb_f[1],rgb_f[2]);
- with(el.style) {
- color = 'hsl(' + hsv_f[0] + ', 0%,50%)';
- backgroundColor = 'hsl(' + hsv_b[0] + ', 0%,25%)';
- }
- });
- }
- greyscale();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement