Sto facendo uno script per photoshop per creare una cartella colori a partire da un'immagine, utilizzando javascript.
Per il momento lo script agisce così:
- prendo il documento;
- unisco i livelli visibili;
- controllo se lo spazio colore dell'immagine è rgb, in caso contrario lo cambio in rgb;
- creo una variabile che mi recupera l'altezza in pixel dell'immagine;
- creo una variabile che mi recupera la larghezza in pixel dell'immagine;
- creo un ciclo che per ogni pixel (quindi finché i = 0 è <= altezza e finché j = 0 è <= larghezza) prende i valori R, G, e B.
A questo punto non so come è meglio procedere... la mia idea era di creare un'array e popolarla, ma forse converrebbe un'array associativa, con i valori RGB e il numero di occorrenze trovate, solo che al momento ho la mente ottenebrata e non so come farloL'alternativa sarebbe popolare tutta l'array, poi ordinarla e infine prendere ogni tripletta di valori RGB e contare quanti ce ne sono... però mi sembra molto meno performante. A tal proposito, è possibile creare array associative, e come, con javascript? Qual è il corrispetto della funzione in_array() di php che controlla se dentro un'array c'è il dato che cerco?
In pratica dovrebbe venire qualcosa del tipo array[(R, G, B) => (7), (R,G,B) => (1)] etc... dove R,G,B variano di volta in volta... alla fine dovrei ordinarle per il secondo valore della coppia, vale a dire il numero di volte che è stata trovata la terna RGB.![]()