Construire un programme pour changer la couleur d'un objet
opop
-
17 janv. 2016 à 17:06
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024
-
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?
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és16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024127 18 janv. 2016 à 19:40
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és16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024127 29 janv. 2016 à 00:24
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 ??
18 janv. 2016 à 19:04
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 ?
18 janv. 2016 à 19:40
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 :
28 janv. 2016 à 22:01
29 janv. 2016 à 00:24
31 janv. 2016 à 12:15