/* Manipulations sur une classe couleur */ public class ManipulationCouleurs { /* Type agrege de stockage des informations */ /* relatives a une couleur codee sous la forme */ /* heure, minute, seconde */ static class Couleur { short r = 0; short v = 0; short b = 0; }; /* Programme principal */ public static void main(String [] args) { Couleur c = new Couleur(); double assombrissement; Couleur ca = new Couleur(); double eclaircissement; Couleur ce = new Couleur(); double fa; double fe; Ecran.afficherln("SVP, r, v & b?"); c.r = Clavier.saisirShort(); c.v = Clavier.saisirShort(); c.b = Clavier.saisirShort(); Ecran.afficherln("SVP, assombrissement?"); assombrissement = Clavier.saisirDouble(); Ecran.afficherln("SVP, eclaircissement?"); eclaircissement = Clavier.saisirDouble(); fa = 1.0-assombrissement/100.0; ca.r =(short) Math.round(fa*c.r); ca.v =(short) Math.round(fa*c.v); ca.b =(short) Math.round(fa*c.b); fe = 1.0-eclaircissement/100.0; ce.r =(short) (255-Math.round(fe*(255-c.r))); ce.v =(short) (255-Math.round(fe*(255-c.v))); ce.b =(short) (255-Math.round(fe*(255-c.b))); Ecran.afficherln("[",c.r,":",c.v,":",c.b,"]"); Ecran.afficherln("[",ca.r,":",ca.v,":",ca.b,"]"); Ecran.afficherln("[",ce.r,":",ce.v,":",ce.b,"]"); } }