comment pourrais-je comparer les couleurs en java?
im essayant de faire une couleur aléatoire générateur mais je ne veux pas de couleurs similaire à afficher dans la liste de tableaux
public class RandomColorGen {
public static Color RandColor() {
Random rand = new Random();
float r = rand.nextFloat();
float g = rand.nextFloat();
float b = rand.nextFloat();
Color c = new Color(r, g, b, 1);
return c;
}
public static ArrayList<Color> ColorList(int numOfColors) {
ArrayList<Color> colorList = new ArrayList<Color>();
for (int i = 0; i < numOfColors; i++) {
Color c = RandColor();
if(similarcolors){
dont add
}
colorList.add(c);
}
return colorList;
}
}
Je suis vraiment confus s'il vous plaît aider 🙂
Vous devez vous connecter pour publier un commentaire.
Mettre en œuvre un similarTo() la méthode dans la classe de Couleur.
Alors utiliser:
Pour mettre en œuvre les similarTo:
Prendre un coup d'oeil à La couleur de similarité/distance dans l'espace de couleurs RGBA et trouver des couleurs similaires par programmation. Une approche simple peut être:
((r2 - r1)2 + (g2 - g1)2 + (b2 - b1)2)1/2
Et:
Toutefois, vous devriez trouver votre X en fonction de votre imagination similaires.
J'ai essayé et ça a très bien fonctionné:
La
getRGB
fonction retourne un int valeur avec la somme de Rouge, de Bleu et de Vert, de sorte que nous sommes en comparant les entiers non des objets.Vérifier ce lien.
Comment faire correspondre des couleurs similaires en Java à l'aide de getRGB
Vous pouvez trouver à propos de la couleur de la similitude dans cette rubrique.