Código de JavaScript - Barra de colores en JavaScript

Imágen de perfil
Val: 2.144
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Barra de colores en JavaScriptgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 19 de Septiembre del 2018 por Xavi
1.027 visualizaciones desde el 19 de Septiembre del 2018
Este simple código, muestra como dibujar una barra de colores y permite seleccionar cualquier color poniendo el ratón encima.
Te muestra el color en formato RGB y Hexadecimal.

barra-de-color

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 19 de Septiembre del 2018gráfica de visualizaciones de la versión: Versión 1
1.028 visualizaciones desde el 19 de Septiembre del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <style>
 
    div {margin-bottom:5px;}
    #colores {cursor:pointer;}
    .selected {border:1px solid;}
    label {width:100px;display:inline-block;}
 
    </style>
</head>
 
<body>
    <div>
        <div id="colores"></div>
    </div>
 
    <div>
        <label>RGB</label> <input type="text" id="rgb">
    </div>
    <div>
        <label>Hexadecimal</label> <input type="text" id="hex">
    </div>
</body>
 
</html>
 
<script>
 
(function(){
    var ultimaSeleccion="";
    var clr=new Array('00','11','22','33','44','55','66','77','88','99','aa','bb','cc','dd','ee','ff');
    var result="";
 
    // mostramos la escala de colores
    var red=15;
    var green=0;
    var blue=0;
    for (green=0;green<16;green++) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=15;
    blue=0;
    red=15;
    for (red=15;red>-1;red--) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=15;
    blue=0;
    red=0;
    for (blue=0;blue<16;blue++) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
 
    green=15;
    blue=15;
    red=0;
    for (green=15;green>-1;green--) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=0;
    blue=15;
    red=0;
    for (red=0;red<16;red++) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    green=0;
    blue=15;
    red=15;
    for (blue=15;blue>-1;blue--) {
        result+='<span style="background-color:#'+clr[red]+clr[green]+clr[blue]+'">&nbsp;</span>';
    }
    // escala de grises
    for (i=15;i>-1;i--) {
        result+='<span style="background-color:#'+clr[i]+clr[i]+clr[i]+'">&nbsp;</span>';
    }
    document.getElementById("colores").innerHTML=result;
 
    /**
     * Funcion para convertir un valor binario a hexadecimal
     */
    function binToHex(valor) {
        // convertimos el valor a base 16
        var hex = parseInt(valor).toString(16);
        // devolver el valor añadiendole un 0 delante si la longitud es de 1
        return hex.length == 1 ? "0" + hex : hex;
    }
    function rgbToHex(r, g, b) {
        return "#" + binToHex(r) + binToHex(g) + binToHex(b);
    }
 
    /**
     * Evento que se ejecuta cada vez que pasa el ratón por encima de algun
     * elemento de la barra de colores
     */
    document.getElementById("colores").addEventListener("mouseover",function(e){
 
        // obtenemos el color en RGB
        var rgb=e.target.style.backgroundColor;
 
        // obtenemos cada uno de los valores del color RGB
        var valores = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(rgb);
 
        // obtenemos el RGB
        var hex=rgbToHex(valores[2],valores[3],valores[4]);
 
        // eliminamos la ultima seleccion
        if(ultimaSeleccion)
        {
            ultimaSeleccion.classList.remove("selected");
        }
 
        // seleccionamos el nuevo elememento
        e.target.classList.add("selected");
        ultimaSeleccion=e.target;
 
        document.getElementById("rgb").value=rgb;
        document.getElementById("hex").value=hex;
    });
})()
 
</script>



Comentarios sobre la versión: Versión 1 (2)

Imágen de perfil
20 de Septiembre del 2018
estrellaestrellaestrellaestrellaestrella
Excelente!!!
Responder
7 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
Gracias me gusto el codigo funciona bien amigo
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4828