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 |
} |
60 |
} |
61 |
function rg2html(z) |
62 |
{ |
63 |
return d2h(z.r)+d2h(z.g)+d2h(z.b); |
64 |
} |
65 |
function d2h(d) |
66 |
{ |
67 |
hch="0123456789ABCDEF"; |
68 |
a=d%16; |
69 |
q=(d-a)/16; |
70 |
return hch.charAt(q)+hch.charAt(a); |
71 |
} |
72 |
function h2r(hs) |
73 |
{ |
74 |
var rg=new Object(); |
75 |
if(hs.s==0) |
76 |
{ |
77 |
rg.r=rg.g=rg.b=Math.round(hs.v*2.55); |
78 |
return rg; |
79 |
} |
80 |
hs.s=hs.s/100; |
81 |
hs.v=hs.v/100; |
82 |
hs.h/=60; |
83 |
i=Math.floor(hs.h); |
84 |
f=hs.h-i; |
85 |
p=hs.v*(1-hs.s); |
86 |
q=hs.v*(1-hs.s*f); |
87 |
t=hs.v*(1-hs.s*(1-f)); |
88 |
switch(i) |
89 |
{ |
90 |
case 0:rg.r=hs.v; |
91 |
rg.g=t; |
92 |
rg.b=p; |
93 |
break; |
94 |
case 1:rg.r=q; |
95 |
rg.g=hs.v; |
96 |
rg.b=p; |
97 |
break; |
98 |
case 2:rg.r=p; |
99 |
rg.g=hs.v; |
100 |
rg.b=t; |
101 |
break; |
102 |
case 3:rg.r=p; |
103 |
rg.g=q; |
104 |
rg.b=hs.v; |
105 |
break; |
106 |
case 4:rg.r=t; |
107 |
rg.g=p; |
108 |
rg.b=hs.v; |
109 |
break; |
110 |
default:rg.r=hs.v; |
111 |
rg.g=p; |
112 |
rg.b=q; |
113 |
} |
114 |
rg.r=Math.round(rg.r*255); |
115 |
rg.g=Math.round(rg.g*255); |
116 |
rg.b=Math.round(rg.b*255); |
117 |
return rg; |
118 |
} |
119 |
function rc(x,m) |
120 |
{ |
121 |
if(x>m) |
122 |
{ |
123 |
return m |
124 |
} |
125 |
if(x<0) |
126 |
{ |
127 |
return 0 |
128 |
} |
129 |
else |
130 |
{ |
131 |
return x |
132 |
} |
133 |
} |
134 |
function rg2hs(rg) |
135 |
{ |
136 |
m=rg.r; |
137 |
if(rg.g<m) |
138 |
{ |
139 |
m=rg.g |
140 |
}; |
141 |
if(rg.b<m) |
142 |
{ |
143 |
m=rg.b |
144 |
}; |
145 |
v=rg.r; |
146 |
if(rg.g>v) |
147 |
{ |
148 |
v=rg.g |
149 |
}; |
150 |
if(rg.b>v) |
151 |
{ |
152 |
v=rg.b |
153 |
}; |
154 |
value=100*v/255; |
155 |
delta=v-m; |
156 |
if(v==0.0) |
157 |
{ |
158 |
hs.s=0 |
159 |
} |
160 |
else |
161 |
{ |
162 |
hs.s=100*delta/v |
163 |
}; |
164 |
if(hs.s==0) |
165 |
{ |
166 |
hs.h=0 |
167 |
} |
168 |
else |
169 |
{ |
170 |
if(rg.r==v) |
171 |
{ |
172 |
hs.h=60.0*(rg.g-rg.b)/delta |
173 |
} |
174 |
else if(rg.g==v) |
175 |
{ |
176 |
hs.h=120.0+60.0*(rg.b-rg.r)/delta |
177 |
} |
178 |
else if(rg.b=v) |
179 |
{ |
180 |
hs.h=240.0+60.0*(rg.r-rg.g)/delta |
181 |
} |
182 |
if(hs.h<0.0) |
183 |
{ |
184 |
hs.h=hs.h+360.0 |
185 |
} |
186 |
} |
187 |
hs.v=Math.round(value); |
188 |
hs.h=Math.round(hs.h); |
189 |
hs.s=Math.round(hs.s); |
190 |
return(true); |
191 |
} |
192 |
function dom() |
193 |
{ |
194 |
z=new Object(); |
195 |
y=new Object(); |
196 |
yx=new Object(); |
197 |
p=new Object(); |
198 |
pr=new Object(); |
199 |
p.s=y.s=hs.s; |
200 |
p.h=y.h=hs.h; |
201 |
if(hs.v>70) |
202 |
{ |
203 |
y.v=hs.v-30 |
204 |
p.v=y.v +15 |
205 |
z=h2r(p); |
206 |
ud("1",z); |
207 |
|
208 |
|
209 |
} |
210 |
else |
211 |
{ |
212 |
y.v=hs.v+30 |
213 |
p.v=y.v-15 |
214 |
z=h2r(p); |
215 |
ud("1",z); |
216 |
|
217 |
}; |
218 |
z=h2r(y); |
219 |
ud("2",z); |
220 |
if((hs.h>=0)&&(hs.h<30)) |
221 |
{ |
222 |
pr.h=yx.h=y.h=hs.h+20; |
223 |
pr.s=yx.s=y.s=hs.s; |
224 |
y.v=hs.v; |
225 |
if(hs.v>70) |
226 |
{ |
227 |
yx.v=hs.v-30 |
228 |
pr.v = yx.v +15 |
229 |
} |
230 |
else |
231 |
{ |
232 |
yx.v=hs.v+30 |
233 |
pr.v = yx.v -15 |
234 |
} |
235 |
} |
236 |
if((hs.h>=30)&&(hs.h<60)) |
237 |
{ |
238 |
pr.h=yx.h=y.h=hs.h+150; |
239 |
y.s=rc(hs.s-30,100); |
240 |
y.v=rc(hs.v-20,100); |
241 |
pr.s=yx.s=rc(hs.s-70,100); |
242 |
yx.v=rc(hs.v+20,100); |
243 |
pr.v=hs.v |
244 |
} |
245 |
if((hs.h>=60)&&(hs.h<180)) |
246 |
{ |
247 |
pr.h=yx.h=y.h=hs.h-40; |
248 |
pr.s=y.s=yx.s=hs.s; |
249 |
y.v=hs.v; |
250 |
if(hs.v>70) |
251 |
{ |
252 |
yx.v=hs.v-30 |
253 |
pr.v = yx.v +15 |
254 |
} |
255 |
else |
256 |
{ |
257 |
yx.v=hs.v+30 |
258 |
pr.v = yx.v -15 |
259 |
} |
260 |
} |
261 |
if((hs.h>=180)&&(hs.h<220)) |
262 |
{ |
263 |
pr.h=yx.h=hs.h-170; |
264 |
y.h=hs.h-160; |
265 |
pr.s=yx.s=y.s=hs.s; |
266 |
y.v=hs.v; |
267 |
if(hs.v>70) |
268 |
{ |
269 |
yx.v=hs.v-30 |
270 |
pr.v = yx.v +15 |
271 |
} |
272 |
else |
273 |
{ |
274 |
yx.v=hs.v+30 |
275 |
pr.v = yx.v -15 |
276 |
} |
277 |
} |
278 |
if((hs.h>=220)&&(hs.h<300)) |
279 |
{ |
280 |
pr.h=yx.h=y.h=hs.h; |
281 |
pr.s=yx.s=y.s=rc(hs.s-60,100); |
282 |
y.v=hs.v; |
283 |
if(hs.v>70) |
284 |
{ |
285 |
yx.v=hs.v-30 |
286 |
pr.v = yx.v +15 |
287 |
} |
288 |
else |
289 |
{ |
290 |
yx.v=hs.v+30 |
291 |
pr.v = yx.v -15 |
292 |
} |
293 |
} |
294 |
if(hs.h>=300) |
295 |
{ |
296 |
if(hs.s>50) |
297 |
{ |
298 |
pr.s=y.s=yx.s=hs.s-40 |
299 |
} |
300 |
else |
301 |
{ |
302 |
pr.s=y.s=yx.s=hs.s+40 |
303 |
} |
304 |
pr.h=yx.h=y.h=(hs.h+20)%360; |
305 |
y.v=hs.v; |
306 |
if(hs.v>70) |
307 |
{ |
308 |
yx.v=hs.v-30 |
309 |
pr.v = yx.v +15 |
310 |
} |
311 |
else |
312 |
{ |
313 |
yx.v=hs.v+30 |
314 |
pr.v = yx.v -15 |
315 |
} |
316 |
} |
317 |
z=h2r(y); |
318 |
ud("3",z); |
319 |
z=h2r(yx); |
320 |
ud("5",z); |
321 |
y.h=0; |
322 |
y.s=0; |
323 |
y.v=100-hs.v; |
324 |
z=h2r(y); |
325 |
ud("6",z); |
326 |
y.h=0; |
327 |
y.s=0; |
328 |
y.v=hs.v; |
329 |
z=h2r(y); |
330 |
ud("7",z); |
331 |
z=h2r(pr); |
332 |
ud("4",z); |
333 |
if(hs.v >= 50) { pr.v = 0 } else { pr.v = 100 } |
334 |
pr.h=pr.s=0; |
335 |
z=h2r(pr); |
336 |
ud("8",z); |
337 |
sample_go(); |
338 |
} |