|
5 | 5 | } |
6 | 6 |
|
7 | 7 | function dec2hex(dec) { |
8 | | - return '0x'+padLeadingZeros((dec >>> 0).toString(16), 4).toUpperCase(); |
| 8 | + return padLeadingZeros((dec >>> 0).toString(16), 4).toUpperCase(); |
9 | 9 | } |
10 | 10 |
|
11 | 11 | function colorhex(dec) { |
|
18 | 18 | return s; |
19 | 19 | } |
20 | 20 |
|
21 | | -function updateRgbControl() { |
| 21 | +function $(element) { |
| 22 | + return document.getElementById(element); |
| 23 | +} |
22 | 24 |
|
23 | | - r = document.getElementById('red').value; |
24 | | - g = document.getElementById('green').value; |
25 | | - b = document.getElementById('blue').value; |
26 | | - stb = document.getElementById('stb').checked ? 1 : 0; |
| 25 | +function updateRgbControl() { |
27 | 26 |
|
28 | | - document.getElementById('redval').innerText = dec2bin(r); |
29 | | - document.getElementById('greenval').innerText = dec2bin(g); |
30 | | - document.getElementById('blueval').innerText = dec2bin(b); |
| 27 | + r = $('red').value; |
| 28 | + g = $('green').value; |
| 29 | + b = $('blue').value; |
| 30 | + stp = $('stp').checked ? 1 : 0; |
31 | 31 |
|
32 | 32 | r8 = r / 31 * 255; |
33 | 33 | g8 = g / 31 * 255; |
34 | 34 | b8 = b / 31 * 255; |
35 | 35 |
|
36 | | - document.getElementById('red8').innerText = Math.round(r8); |
37 | | - document.getElementById('green8').innerText = Math.round(g8); |
38 | | - document.getElementById('blue8').innerText = Math.round(b8); |
| 36 | + color16 = stp << 15 | b << 10 | g << 5 | r; |
| 37 | + color24 = (colorhex(r8) + colorhex(g8) + colorhex(b8)).toUpperCase(); |
39 | 38 |
|
40 | | - document.getElementById('redperc').innerText = (r / 31 * 100).toFixed(2) + '%'; |
41 | | - document.getElementById('greenperc').innerText = (g / 31 * 100).toFixed(2) + '%'; |
42 | | - document.getElementById('blueperc').innerText = (b / 31 * 100).toFixed(2) + '%'; |
| 39 | + $('resultbin').value = ($('stp').checked ? '1' : '0') + dec2bin(b) + dec2bin(g) + dec2bin(r); |
| 40 | + $('resulthex').value = dec2hex(color16); |
| 41 | + $('resulthex888').value = color24 + ''; |
| 42 | + |
| 43 | + $('redval').innerText = dec2bin(r); |
| 44 | + $('greenval').innerText = dec2bin(g); |
| 45 | + $('blueval').innerText = dec2bin(b); |
43 | 46 |
|
44 | | - document.getElementById('resultbin').value = (document.getElementById('stb').checked ? '1' : '0') + dec2bin(b) + dec2bin(g) + dec2bin(r); |
| 47 | + $('red8').innerText = Math.round(r8); |
| 48 | + $('green8').innerText = Math.round(g8); |
| 49 | + $('blue8').innerText = Math.round(b8); |
45 | 50 |
|
46 | | - document.getElementById('sliders').style.backgroundColor = '#' + colorhex(r8) + colorhex(g8) + colorhex(b8); |
| 51 | + $('redperc').innerText = (r / 31 * 100).toFixed(2) + '%'; |
| 52 | + $('greenperc').innerText = (g / 31 * 100).toFixed(2) + '%'; |
| 53 | + $('blueperc').innerText = (b / 31 * 100).toFixed(2) + '%'; |
47 | 54 |
|
48 | | - result = stb << 15 | b << 10 | g << 5 | r; |
49 | | - |
50 | | - document.getElementById('resulthex').value = dec2hex(result); |
| 55 | + $('preview').style.backgroundColor = '#' + color24; |
51 | 56 | } |
52 | 57 | </script> |
53 | 58 |
|
| 59 | +<style> |
| 60 | +td { |
| 61 | + padding:6px 4px; |
| 62 | +} |
| 63 | +</style> |
| 64 | + |
54 | 65 | <body style="font-family: Courier New, serif" onload="updateRgbControl()"> |
55 | 66 |
|
56 | 67 | <div class="rgb_control" style="border: solid 1px black; margin: 1em; padding: 1em;"> |
57 | 68 |
|
58 | 69 | <table id="sliders"> |
59 | 70 |
|
60 | | - <tr><td>Binary:</td><td colspan="4"><input type="text" id="resultbin" /></td></tr> |
61 | | - <tr><td>Hex:</td><td colspan="4"><input type="text" id="resulthex" /></td></tr> |
| 71 | + <tr><td>Binary (5551):</td><td colspan="4"><input type="text" id="resultbin" /></td></tr> |
| 72 | + <tr><td>Hex (5551):</td><td colspan="4"><input type="text" id="resulthex" /></td></tr> |
| 73 | + <tr><td>Hex (888):</td><td colspan="4"><input type="text" id="resulthex888" /></td></tr> |
62 | 74 |
|
63 | 75 | <tr> |
64 | 76 | <td>Red</td> |
|
83 | 95 | </tr> |
84 | 96 |
|
85 | 97 | <tr><td colspan="5"> |
86 | | - <input type="checkbox" id="stb" oninput="updateRgbControl()"> |
87 | | - <label for="stb">Semi-transparent bit</label> |
| 98 | + <input type="checkbox" id="stp" oninput="updateRgbControl()"> |
| 99 | + <label for="stp">Semi-transparency bit</label> |
88 | 100 | </input> |
89 | 101 | </td></tr> |
| 102 | + |
| 103 | + <tr id="preview" style="height: 64px;"><td style="border: solid 1px black;" colspan="5"</td></tr> |
90 | 104 | </table> |
91 | 105 |
|
92 | 106 | </div> |
|
0 commit comments