Construire un programme pour changer la couleur d'un objet

- - Dernière réponse : KX
Messages postés
16100
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
7 janvier 2020
- 31 janv. 2016 à 12:38
Bonjour,

Je suis en terminale S, et je dois créer un programme qui permette de changer la couleur d'un objet sous javascool. Je ne sais pas du tout comment m'y prendre . Pouvez vous m'aider?
Afficher la suite 

1 réponse

Messages postés
16100
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
7 janvier 2020
88
0
Merci
Bonjour,

De quel objet est-ce que tu parles ? Si tu veux en changer la couleur c'est qu'il en possède déjà une... alors montre nous le code.
On a choisi une voiture orange qui ressort bien et j'ai commencé un programme mais je n'arrive pas à faire la suite ...
void main(){
load ("// adresse de l'image",false,false);

int i=getWidth();
int j=getHeight();


setRunnable(new Runnable() { public void run() {
int rvb[]=getPixelColor(getX(), getY());
println("Oh on a cliqué dans l'image en (" + getX() + ", " + getY()+")");
println ("couleur pixel RVB (" + rvb[0]+","+ rvb[1]+","+rvb[2]+")");
}});



}
Il faut faire une boucle for non ?
KX
Messages postés
16100
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
7 janvier 2020
88 -
Ok, donc tu travailles sur une image.

Donc oui, il faut faire une boucle for sur chaque pixel de couleur.

Mais si tu veux changer une couleur, il faut d'abord savoir quelle couleur tu veux changer.

En gros :

Lire l'image

Pour (chaque pixel) {
    Regarder la couleur de ce pixel
    Si (le pixel est de la couleur que l'on veut changer) {
        changer la couleur du pixel
    }
}

Ecrire l'image
Mais dans le si, si je met une valeur, tous les pixels auront la même couleur même si dans l'image initiale ils avaient une intensité lumineuse différente non ??
KX
Messages postés
16100
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
7 janvier 2020
88 -
Puisque tu fais une boucle sur chaque pixel le pixel que tu changes c'est juste celui qui t'intéresse. Les autres pixels seront changés dans le reste de la boucle.
Je ne comprends pas trop comment faire mais si je demande une couleur de pixel, je devois faire une boucle comme celle là plein de fois pour chaque couleur non ??
Commenter la réponse de KX