Ho un gruppo di colori e voglio trovare il loro relativo colorfulness. Qualcuno potrebbe mostrarmi un esempio in javascript? Grazie molto!Scelta del colore più colorato in javascript
risposta
// permette di comparare i colori per la loro saturazione e Brightness
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 colors = [ '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)
*/
Fantastico! la combinazione di luminosità e saturazione è ciò che cercavo. Grazie molto – MachineElf
Questa funzione restituisce la saturazione (da 0.0 a 1.0) dati i valori 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);
}
}
So che lei ha chiesto policromia, ma questo potrebbe essere un buon punto affermando. (Io in realtà non conoscevo la differenza, grazie per aver ricordato che wikipedia pagina)
Hai dimenticato di dichiarare 's' –
Inoltre, non hai bisogno di quella istruzione if. Se delta è zero, quindi delta/maxVal sarà zero. –
Questo dovrebbe andare bene: 'var max = ...; var min = ...; return (max - min)/max; ' –
- 1. ActionBarSherlock menu di scelta rapida colore del menu del menu
- 2. colorato Git diff in HTML
- 3. Impossibile modificare il colore del pulsante di scelta su Android
- 4. UISearchBar colorato come Contatti
- 5. Output colorato in C++
- 6. qt disegna testo colorato
- 7. Colore parametro Javascript in Netbeans
- 8. Stampa testo colorato su console in C++
- 9. Come cambiare il colore del pulsante colorato quando premuto su Android?
- 10. Cambia colore dell'immagine in javascript
- 11. colore trasparente in javascript D3.js
- 12. Genera il colore più chiaro/più scuro in css usando javascript
- 13. Come si imposta il colore di un'etichetta (testo colorato) in Java?
- 14. Come impostare un filtro colorato per XWalkView?
- 15. La designazione del colore della bolla come variabile è una scelta limitante in ggplot
- 16. Scelta del certificato client SSL in Java
- 17. L'ipotenusa più veloce in javascript?
- 18. cammello Java DSL scelta in una scelta
- 19. Come si stampa l'output colorato sul terminale in Python?
- 20. Bash: Uscita colorato con una variabile
- 21. Cambia colore del testo senza memoria colore in C64/Assembly
- 22. Scelta del parser XML IOS
- 23. angoli arrotondati con colore del bordo
- 24. Scelta del protocollo pickle Python?
- 25. output stdlib e colorato in C
- 26. cambia il colore del messaggio di avviso utilizzando javascript
- 27. Conversione del colore in ConsoleColor?
- 28. JavaScript in più file
- 29. Scelta dello sfondo adatto/colore di primo piano usando PHP
- 30. Cambia colore a livello di codice del testo in PDF
Sai l'equazione per policromia sulla base della R, G, B i valori del colore? –
Supporrei che l'equazione per il colore sia qualcosa come x = min (R, G, B); colorita = (R - x + G - x + B - x)/2.0. Ma a cosa serve la colorita? Posso vedere Saturazione o Crominanza. – TamusJRoyce
@ Šime, rispondi a tutte le domande con una domanda? @ Tamus, grazie, ci proverò. La coloritura è utile se si desidera evitare i colori grigi in una tavolozza. – MachineElf