Отображение цветов на компьютере
Материал из Department of Theoretical and Applied Mechanics
Виртуальная лаборатория > Отображение цветов на компьютере
Спектральная палитра[править]
Жирным шрифтом выделены 7 основных спектральных цветов
Цвет | Код | Название |
Скачать программу: Colors_on_computer.zip
Текст программы на языке JavaScript (разработчики Кривцов Антон, Цветков Денис):
Файл "Colors_on_computer.js"
1 function Main_Colors_on_computer() {
2 var xx = "BB";
3 xx_text.value = xx;
4 xx_range.value = parseInt(xx, 16);
5
6 var colors = [];
7 colors.push({color_xx:"#FF0000", name:"красный", font:"bold"});
8 colors.push({color_xx:"#FFxx00", name:"оранжевый", font:"bold"});
9 colors.push({color_xx:"#FFFF00", name:"желтый", font:"bold"});
10 colors.push({color_xx:"#xxFF00", name:"желто-зеленый", font:""});
11 colors.push({color_xx:"#00FF00", name:"зеленый", font:"bold"});
12 colors.push({color_xx:"#00FFxx", name:"зелено-голубой", font:""});
13 colors.push({color_xx:"#00FFFF", name:"голубой", font:"bold"});
14 colors.push({color_xx:"#00xxFF", name:"голобой-синий", font:""});
15 colors.push({color_xx:"#0000FF", name:"синий", font:"bold"});
16 colors.push({color_xx:"#xx00FF", name:"фиолетовый", font:"bold"});
17 colors.push({color_xx:"#FF00FF", name:"сиреневый", font:""});
18 colors.push({color_xx:"#FF00xx", name:"пурпурный", font:""});
19
20 function get_color(color_xx) { // ф-ия заменяет символы "xx" на содержимое переменной xx
21 if (color_xx.indexOf("xx") == -1) return color_xx;
22 else return color_xx.replace("xx", xx);
23 }
24 function refresh_table() { // обновление таблицы цветов
25 for (var i = 0; i < colors.length; i++) {
26 var color = get_color(colors[i].color_xx);
27 document.getElementById('color' + i).style.backgroundColor = color;
28 document.getElementById('name' + i).innerHTML = color.substring(1);
29 }
30 }
31 this.set_xx = function(color) { // 0 <= color <= 255
32 xx = color.toString(16).toUpperCase();
33 if (xx.length == 1) xx = "0" + xx;
34 refresh_table();
35 };
36 xx_range.oninput = function() {
37 app.set_xx(parseInt(this.value));
38 var text = (parseInt(this.value)).toString(16).toUpperCase();
39 if (text.length == 1) text = '0' + text;
40 xx_text.value = text;
41 };
42 xx_text.oninput = function() {
43 if (!this.checkValidity()) return;
44 app.set_xx(parseInt(this.value, 16));
45 xx_range.value = parseInt(this.value, 16);
46 };
47
48 // генерация таблицы
49 for (var i = 0; i < colors.length; i++) {
50 var tr = "";
51 tr += '<tr><td id="color' + i + '" style=" width:60px; height:21px;"></td>' +
52 '<td id="name' + i + '"></td>' +
53 '<td><span style="font: ' + colors[i].font + ' 10pt sans-serif;">' + colors[i].name + '</span></td></tr>';
54 color_table.innerHTML += tr;
55 }
56
57 refresh_table();
58 }
Файл "Colors_on_computer.html"
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>Отображение цветов на компьютере</title>
6 <script src="Colors_on_computer.js"></script>
7 </head>
8 <body>
9 <table id="color_table" border=1 style="text-align: center">
10 <tr style="text-align: center; background-color: #DDDDDD">
11 <td>Цвет</td>
12 <td style="width:60px;">Код</td>
13 <td>Название</td>
14 </tr>
15 </table><br>
16
17 <input type="range" id="xx_range" min=0 max=255>
18 <input id="xx_text" style="width: 2em;" required pattern="^([A-Fa-f0-9]{2})$">
19
20 <script type="text/javascript">var app = new Main_Colors_on_computer();</script>
21 </body>
22 </html>