1 |
var hs=new Object(); |
2 |
var rg=new Object(); |
3 |
|
4 |
function sample_go() |
5 |
{ |
6 |
document.getElementById('sample').style.backgroundColor = document.getElementById('col7').value; |
7 |
document.getElementById('sampleh1').style.backgroundColor = document.getElementById('col0').value; |
8 |
document.getElementById('sampleh1').style.color = document.getElementById('col2').value; |
9 |
document.getElementById('sampleh1').style.borderColor = document.getElementById('col6').value; |
10 |
document.getElementById('sampleh2').style.backgroundColor = document.getElementById('col3').value; |
11 |
document.getElementById('sampleh2').style.color = document.getElementById('col5').value; |
12 |
document.getElementById('sampleh2').style.borderColor = document.getElementById('col6').value; |
13 |
document.getElementById('samplep').style.backgroundColor = document.getElementById('col7').value; |
14 |
document.getElementById('samplep').style.color = document.getElementById('col8').value; |
15 |
document.getElementById('samplep').style.borderColor = document.getElementById('col6').value; |
16 |
document.getElementById('samplelink').style.color = document.getElementById('col1').value; |
17 |
document.getElementById('samplehover').style.color = document.getElementById('col4').value; |
18 |
|
19 |
} |
20 |
function htmlgo() |
21 |
{ |
22 |
k=document.getElementById('html').value; |
23 |
j = k.replace('#',''); |
24 |
red = j.substr(0,2); |
25 |
gre = j.substr(2,2); |
26 |
blu = j.substr(4,2); |
27 |
r.setValue(parseInt(red,16)); |
28 |
g.setValue(parseInt(gre,16)); |
29 |
b.setValue(parseInt(blu,16)); |
30 |
|
31 |
} |
32 |
|
33 |
function c2r(d) |
34 |
{ |
35 |
k=document.getElementById(d).style.backgroundColor; |
36 |
j=(k.substr(4,k.indexOf(")")-4)).split(","); |
37 |
r.setValue(j[0]); |
38 |
g.setValue(j[1]); |
39 |
b.setValue(j[2]); |
40 |
} |
41 |
function load_theme() |
42 |
{ |
43 |
sel = document.getElementById("coltheme"); |
44 |
var d = sel.options[sel.selectedIndex].value; |
45 |
j=d.split(","); |
46 |
r.setValue(j[0]); |
47 |
g.setValue(j[1]); |
48 |
b.setValue(j[2]); |
49 |
} |
50 |
|
51 |
function ud(x,c) |
52 |
{ |
53 |
document.getElementById("sw"+x).style.backgroundColor="rgb("+c.r+","+c.g+","+c.b+")"; |
54 |
document.getElementById("hc"+x).innerHTML="#"+rg2html(c) + "<br />R: "+c.r+"<br />G: "+c.g+"<br />B: "+c.b; |
55 |
document.getElementById("col"+x).value="#"+rg2html(c) |
56 |
if(x == 0) |
57 |
{ |
58 |
document.getElementById("bookmark").value="http://color.twysted.net/?color="+rg2html(c); |
59 |
document.getElementById("light").style.backgroundColor="rgb("+inc(c.r)+","+inc(c.g)+","+inc(c.b)+")"; |
60 |
document.getElementById("dark").style.backgroundColor="rgb("+dec(c.r)+","+dec(c.g)+","+dec(c.b)+")"; |
61 |
} |
62 |
} |
63 |
function rg2html(z) |
64 |
{ |
65 |
return d2h(z.r)+d2h(z.g)+d2h(z.b); |
66 |
} |
67 |
function d2h(d) |
68 |
{ |
69 |
hch="0123456789ABCDEF"; |
70 |
a=d%16; |
71 |
q=(d-a)/16; |
72 |
return hch.charAt(q)+hch.charAt(a); |
73 |
} |
74 |
function h2r(hs) |
75 |
{ |
76 |
var rg=new Object(); |
77 |
if(hs.s==0) |
78 |
{ |
79 |
rg.r=rg.g=rg.b=Math.round(hs.v*2.55); |
80 |
return rg; |
81 |
} |
82 |
hs.s=hs.s/100; |
83 |
hs.v=hs.v/100; |
84 |
hs.h/=60; |
85 |
i=Math.floor(hs.h); |
86 |
f=hs.h-i; |
87 |
p=hs.v*(1-hs.s); |
88 |
q=hs.v*(1-hs.s*f); |
89 |
t=hs.v*(1-hs.s*(1-f)); |
90 |
switch(i) |
91 |
{ |
92 |
case 0:rg.r=hs.v; |
93 |
rg.g=t; |
94 |
rg.b=p; |
95 |
break; |
96 |
case 1:rg.r=q; |
97 |
rg.g=hs.v; |
98 |
rg.b=p; |
99 |
break; |
100 |
case 2:rg.r=p; |
101 |
rg.g=hs.v; |
102 |
rg.b=t; |
103 |
break; |
104 |
case 3:rg.r=p; |
105 |
rg.g=q; |
106 |
rg.b=hs.v; |
107 |
break; |
108 |
case 4:rg.r=t; |
109 |
rg.g=p; |
110 |
rg.b=hs.v; |
111 |
break; |
112 |
default:rg.r=hs.v; |
113 |
rg.g=p; |
114 |
rg.b=q; |
115 |
} |
116 |
rg.r=Math.round(rg.r*255); |
117 |
rg.g=Math.round(rg.g*255); |
118 |
rg.b=Math.round(rg.b*255); |
119 |
return rg; |
120 |
} |
121 |
function rc(x,m) |
122 |
{ |
123 |
if(x>m) |
124 |
{ |
125 |
return m |
126 |
} |
127 |
if(x<0) |
128 |
{ |
129 |
return 0 |
130 |
} |
131 |
else |
132 |
{ |
133 |
return x |
134 |
} |
135 |
} |
136 |
function rg2hs(rg) |
137 |
{ |
138 |
m=rg.r; |
139 |
if(rg.g<m) |
140 |
{ |
141 |
m=rg.g |
142 |
}; |
143 |
if(rg.b<m) |
144 |
{ |
145 |
m=rg.b |
146 |
}; |
147 |
v=rg.r; |
148 |
if(rg.g>v) |
149 |
{ |
150 |
v=rg.g |
151 |
}; |
152 |
if(rg.b>v) |
153 |
{ |
154 |
v=rg.b |
155 |
}; |
156 |
value=100*v/255; |
157 |
delta=v-m; |
158 |
if(v==0.0) |
159 |
{ |
160 |
hs.s=0 |
161 |
} |
162 |
else |
163 |
{ |
164 |
hs.s=100*delta/v |
165 |
}; |
166 |
if(hs.s==0) |
167 |
{ |
168 |
hs.h=0 |
169 |
} |
170 |
else |
171 |
{ |
172 |
if(rg.r==v) |
173 |
{ |
174 |
hs.h=60.0*(rg.g-rg.b)/delta |
175 |
} |
176 |
else if(rg.g==v) |
177 |
{ |
178 |
hs.h=120.0+60.0*(rg.b-rg.r)/delta |
179 |
} |
180 |
else if(rg.b=v) |
181 |
{ |
182 |
hs.h=240.0+60.0*(rg.r-rg.g)/delta |
183 |
} |
184 |
if(hs.h<0.0) |
185 |
{ |
186 |
hs.h=hs.h+360.0 |
187 |
} |
188 |
} |
189 |
hs.v=Math.round(value); |
190 |
hs.h=Math.round(hs.h); |
191 |
hs.s=Math.round(hs.s); |
192 |
return(true); |
193 |
} |
194 |
function dom() |
195 |
{ |
196 |
z=new Object(); |
197 |
y=new Object(); |
198 |
yx=new Object(); |
199 |
p=new Object(); |
200 |
pr=new Object(); |
201 |
p.s=y.s=hs.s; |
202 |
p.h=y.h=hs.h; |
203 |
if(hs.v>70) |
204 |
{ |
205 |
y.v=hs.v-30 |
206 |
p.v=y.v +15 |
207 |
z=h2r(p); |
208 |
ud("1",z); |
209 |
|
210 |
|
211 |
} |
212 |
else |
213 |
{ |
214 |
y.v=hs.v+30 |
215 |
p.v=y.v-15 |
216 |
z=h2r(p); |
217 |
ud("1",z); |
218 |
|
219 |
}; |
220 |
z=h2r(y); |
221 |
ud("2",z); |
222 |
if((hs.h>=0)&&(hs.h<30)) |
223 |
{ |
224 |
pr.h=yx.h=y.h=hs.h+20; |
225 |
pr.s=yx.s=y.s=hs.s; |
226 |
y.v=hs.v; |
227 |
if(hs.v>70) |
228 |
{ |
229 |
yx.v=hs.v-30 |
230 |
pr.v = yx.v +15 |
231 |
} |
232 |
else |
233 |
{ |
234 |
yx.v=hs.v+30 |
235 |
pr.v = yx.v -15 |
236 |
} |
237 |
} |
238 |
if((hs.h>=30)&&(hs.h<60)) |
239 |
{ |
240 |
pr.h=yx.h=y.h=hs.h+150; |
241 |
y.s=rc(hs.s-30,100); |
242 |
y.v=rc(hs.v-20,100); |
243 |
pr.s=yx.s=rc(hs.s-70,100); |
244 |
yx.v=rc(hs.v+20,100); |
245 |
pr.v=hs.v |
246 |
} |
247 |
if((hs.h>=60)&&(hs.h<180)) |
248 |
{ |
249 |
pr.h=yx.h=y.h=hs.h-40; |
250 |
pr.s=y.s=yx.s=hs.s; |
251 |
y.v=hs.v; |
252 |
if(hs.v>70) |
253 |
{ |
254 |
yx.v=hs.v-30 |
255 |
pr.v = yx.v +15 |
256 |
} |
257 |
else |
258 |
{ |
259 |
yx.v=hs.v+30 |
260 |
pr.v = yx.v -15 |
261 |
} |
262 |
} |
263 |
if((hs.h>=180)&&(hs.h<220)) |
264 |
{ |
265 |
pr.h=yx.h=hs.h-170; |
266 |
y.h=hs.h-160; |
267 |
pr.s=yx.s=y.s=hs.s; |
268 |
y.v=hs.v; |
269 |
if(hs.v>70) |
270 |
{ |
271 |
yx.v=hs.v-30 |
272 |
pr.v = yx.v +15 |
273 |
} |
274 |
else |
275 |
{ |
276 |
yx.v=hs.v+30 |
277 |
pr.v = yx.v -15 |
278 |
} |
279 |
} |
280 |
if((hs.h>=220)&&(hs.h<300)) |
281 |
{ |
282 |
pr.h=yx.h=y.h=hs.h; |
283 |
pr.s=yx.s=y.s=rc(hs.s-60,100); |
284 |
y.v=hs.v; |
285 |
if(hs.v>70) |
286 |
{ |
287 |
yx.v=hs.v-30 |
288 |
pr.v = yx.v +15 |
289 |
} |
290 |
else |
291 |
{ |
292 |
yx.v=hs.v+30 |
293 |
pr.v = yx.v -15 |
294 |
} |
295 |
} |
296 |
if(hs.h>=300) |
297 |
{ |
298 |
if(hs.s>50) |
299 |
{ |
300 |
pr.s=y.s=yx.s=hs.s-40 |
301 |
} |
302 |
else |
303 |
{ |
304 |
pr.s=y.s=yx.s=hs.s+40 |
305 |
} |
306 |
pr.h=yx.h=y.h=(hs.h+20)%360; |
307 |
y.v=hs.v; |
308 |
if(hs.v>70) |
309 |
{ |
310 |
yx.v=hs.v-30 |
311 |
pr.v = yx.v +15 |
312 |
} |
313 |
else |
314 |
{ |
315 |
yx.v=hs.v+30 |
316 |
pr.v = yx.v -15 |
317 |
} |
318 |
} |
319 |
z=h2r(y); |
320 |
ud("3",z); |
321 |
z=h2r(yx); |
322 |
ud("5",z); |
323 |
y.h=0; |
324 |
y.s=0; |
325 |
y.v=100-hs.v; |
326 |
z=h2r(y); |
327 |
ud("6",z); |
328 |
y.h=0; |
329 |
y.s=0; |
330 |
y.v=hs.v; |
331 |
z=h2r(y); |
332 |
ud("7",z); |
333 |
z=h2r(pr); |
334 |
ud("4",z); |
335 |
if(hs.v >= 50) { pr.v = 0 } else { pr.v = 100 } |
336 |
pr.h=pr.s=0; |
337 |
z=h2r(pr); |
338 |
ud("8",z); |
339 |
sample_go(); |
340 |
} |