Tengo un grupo de colores y quiero encontrar su pariente colorfulness. ¿Alguien podría mostrarme un ejemplo en javascript? ¡Muchas gracias!Elegir el color más colorido en javascript
Respuesta
// Usted puede comparar los colores por su saturación y de la luminosidad
function rgbtoHsv(rgb){
var c= rgb.match(/\d+/g),
r= c[0]/255, g= c[1]/255, b= c[2]/255,
max= Math.max(r, g, b), min= Math.min(r, g, b),
h= 0, s= 0, v= max;
if(max!= min){
var d= max-min;
s= d/max;
switch(max){
case r: h= (g-b)/d +(g< b? 6: 0);
break;
case g: h= (b-r)/d + 2;
break;
case b: h= (r-g)/d + 4;
break;
}
}
return [Math.round(h*60), Math.round(s*100), Math.round(v*100)];
}
function sortColors(a, b){
var a1= rgbtoHsv(a), b1= rgbtoHsv(b);
return (b1[1]+b1[2])- (a1[1]+a1[2]);
}
var colores = [ 'rgb (255,0,0) ',' rgb (150,150,150) ',' rgb (0,200,100) ',' rgb (0,255,255) ']; // colors.sort (sortColors) .join ('\ n')
/* returned value: (most to least 'colorful')
rgb(255,0,0)
rgb(0,255,255)
rgb(0,200,100)
rgb(150,150,150)
*/
¡Fantástico! la combinación de brillo y saturación es lo que estaba buscando. Muchas gracias – MachineElf
Esta función devuelve la saturación (de 0,0 a 1,0) teniendo en cuenta los valores RGB:
function saturation(r,g,b) {
var minVal = Math.min(r, g, b);
var maxVal = Math.max(r, g, b);
var delta = maxVal - minVal;
if (maxVal === 0) {
return 0;
} else {
return (delta/maxVal);
}
}
Sé que pidió colorido, pero esto podría ser un buen punto de afirmar. (que en realidad no sabía la diferencia, gracias por señalar que la página Wikipedia)
Olvidó declarar 's' –
Además, no necesita esa declaración if. Si delta es cero, entonces delta/maxVal será cero. –
Esto debería estar bien: 'var max = ...; var min = ...; return (max - min)/max; ' –
- 1. Crear texto colorido en JavaScript
- 2. qt dibujar texto colorido
- 3. Generar color más claro/más oscuro en css usando javascript
- 4. Degradado de color Javascript
- 5. Function.bind vs Closure en Javascript: ¿cómo elegir?
- 6. Cómo elegir un color de fondo según el color de la fuente para tener el contraste adecuado
- 7. JavaScript vs validación de ASP.NET, ¿cuál elegir?
- 8. ¿Cómo se establece el código de color en StackOverflow?
- 9. Elegir fondo/color de fondo adecuado usando PHP
- 10. Javascript color Animación
- 11. Doble más que el símbolo en JavaScript
- 12. detectar el color más usado en una imagen usando python
- 13. Encuentra el color más común en una imagen
- 14. Python - Encuentra el color dominante/más común en una imagen
- 15. Cambiar el color de la imagen en javascript
- 16. Color del parámetro Javascript en Netbeans
- 17. Color de fondo CSS en JavaScript
- 18. color RGB a HSV en javascript?
- 19. ¿Cambiar el color de la columna del cursor vim a algo más que el fondo vim?
- 20. Generación de color distinguible en javascript
- 21. ¿Cómo puedo determinar la variante de color más oscura o más clara de un color dado?
- 22. ¿La forma más eficiente de Python para elegir la cadena más larga en la lista?
- 23. hipotenusa más rápida en javascript?
- 24. Cargar más funciones en Javascript
- 25. Elegir archivo numerado más alto - por lotes de archivos
- 26. Expresión regular para elegir la opción más larga
- 27. ¿Cómo imprimir el color/color en python?
- 28. Obteniendo el color más común de una imagen
- 29. Obtén color de píxel más rápido?
- 30. ¿Cuál es el mejor algoritmo para encontrar el color más cercano en una matriz a otro color?
¿Sabe usted la ecuación de colorido basado en la R, G, B los valores del color? –
Supongo que la ecuación para el colorido es algo así como x = min (R, G, B); colorido = (R - x + G - x + B - x)/2.0. Pero, ¿para qué sirve el colorido? Puedo ver Saturación o Croma. – TamusJRoyce
@ Šime, ¿Responde todas las preguntas con una pregunta? @Tamus, gracias, intentaré eso. El colorido es útil si desea evitar los colores grises en una paleta. – MachineElf