OLD | NEW |
1 (function(b){b.color={};b.color.make=function(f,e,c,d){var h={};h.r=f||0;h.g=e||
0;h.b=c||0;h.a=d!=null?d:1;h.add=function(k,j){for(var g=0;g<k.length;++g){h[k.c
harAt(g)]+=j}return h.normalize()};h.scale=function(k,j){for(var g=0;g<k.length;
++g){h[k.charAt(g)]*=j}return h.normalize()};h.toString=function(){if(h.a>=1){re
turn"rgb("+[h.r,h.g,h.b].join(",")+")"}else{return"rgba("+[h.r,h.g,h.b,h.a].join
(",")+")"}};h.normalize=function(){function g(j,k,i){return k<j?j:(k>i?i:k)}h.r=
g(0,parseInt(h.r),255);h.g=g(0,parseInt(h.g),255);h.b=g(0,parseInt(h.b),255);h.a
=g(0,h.a,1);return h};h.clone=function(){return b.color.make(h.r,h.b,h.g,h.a)};r
eturn h.normalize()};b.color.extract=function(e,d){var f;do{f=e.css(d).toLowerCa
se();if(f!=""&&f!="transparent"){break}e=e.parent()}while(!b.nodeName(e.get(0),"
body"));if(f=="rgba(0, 0, 0, 0)"){f="transparent"}return b.color.parse(f)};b.col
or.parse=function(f){var e,c=b.color.make;if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9
]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return c(parseInt(e[1],10),parseInt(e[
2],10),parseInt(e[3],10))}if(e=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*(
[0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(f)){return c(parseInt(e[1],10
),parseInt(e[2],10),parseInt(e[3],10),parseFloat(e[4]))}if(e=/rgb\(\s*([0-9]+(?:
\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.
exec(f)){return c(parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2
.55)}if(e=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*
([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(f)){return c(pars
eFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55,parseFloat(e[4]))}
if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return c(parse
Int(e[1],16),parseInt(e[2],16),parseInt(e[3],16))}if(e=/#([a-fA-F0-9])([a-fA-F0-
9])([a-fA-F0-9])/.exec(f)){return c(parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16
),parseInt(e[3]+e[3],16))}var d=b.trim(f).toLowerCase();if(d=="transparent"){ret
urn c(255,255,255,0)}else{e=a[d]||[0,0,0];return c(e[0],e[1],e[2])}};var a={aqua
:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255
],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],dar
kgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139
,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204
],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255
,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],l
ightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgre
y:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0]
,magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[2
55,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0]
,silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery); | 1 /* Plugin for jQuery for working with colors. |
| 2 * |
| 3 * Version 1.1. |
| 4 * |
| 5 * Inspiration from jQuery color animation plugin by John Resig. |
| 6 * |
| 7 * Released under the MIT license by Ole Laursen, October 2009. |
| 8 * |
| 9 * Examples: |
| 10 * |
| 11 * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString() |
| 12 * var c = $.color.extract($("#mydiv"), 'background-color'); |
| 13 * console.log(c.r, c.g, c.b, c.a); |
| 14 * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)" |
| 15 * |
| 16 * Note that .scale() and .add() return the same modified object |
| 17 * instead of making a new one. |
| 18 * |
| 19 * V. 1.1: Fix error handling so e.g. parsing an empty string does |
| 20 * produce a color rather than just crashing. |
| 21 */(function(e){e.color={},e.color.make=function(t,n,r,i){var s={};return s.r=t|
|0,s.g=n||0,s.b=r||0,s.a=i!=null?i:1,s.add=function(e,t){for(var n=0;n<e.length;
++n)s[e.charAt(n)]+=t;return s.normalize()},s.scale=function(e,t){for(var n=0;n<
e.length;++n)s[e.charAt(n)]*=t;return s.normalize()},s.toString=function(){retur
n s.a>=1?"rgb("+[s.r,s.g,s.b].join(",")+")":"rgba("+[s.r,s.g,s.b,s.a].join(",")+
")"},s.normalize=function(){function e(e,t,n){return t<e?e:t>n?n:t}return s.r=e(
0,parseInt(s.r),255),s.g=e(0,parseInt(s.g),255),s.b=e(0,parseInt(s.b),255),s.a=e
(0,s.a,1),s},s.clone=function(){return e.color.make(s.r,s.b,s.g,s.a)},s.normaliz
e()},e.color.extract=function(t,n){var r;do{r=t.css(n).toLowerCase();if(r!=""&&r
!="transparent")break;t=t.parent()}while(!e.nodeName(t.get(0),"body"));return r=
="rgba(0, 0, 0, 0)"&&(r="transparent"),e.color.parse(r)},e.color.parse=function(
n){var r,i=e.color.make;if(r=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-
9]{1,3})\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3
],10));if(r=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*(
[0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseInt(r[1],10),parseInt(r[2],10),
parseInt(r[3],10),parseFloat(r[4]));if(r=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*
([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(n))return i(par
seFloat(r[1])*2.55,parseFloat(r[2])*2.55,parseFloat(r[3])*2.55);if(r=/rgba\(\s*(
[0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)
\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(n))return i(parseFloat(r[1])*2.55,pars
eFloat(r[2])*2.55,parseFloat(r[3])*2.55,parseFloat(r[4]));if(r=/#([a-fA-F0-9]{2}
)([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))return i(parseInt(r[1],16),parseInt(r
[2],16),parseInt(r[3],16));if(r=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(
n))return i(parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)
);var s=e.trim(n).toLowerCase();return s=="transparent"?i(255,255,255,0):(r=t[s]
||[0,0,0],i(r[0],r[1],r[2]))};var t={aqua:[0,255,255],azure:[240,255,255],beige:
[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],da
rkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0]
,darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],dark
orange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150
,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0
],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,2
55,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193]
,lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],n
avy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[12
8,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,25
5],yellow:[255,255,0]}})(jQuery); |
OLD | NEW |