1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| procedure TForm1.change;
var cdep, cfin : integer;
pr, pg, pb : real;
Rdep, Gdep, Bdep : byte;
Rfin, Gfin, Bfin : byte;
i : integer;
Fact:Double;
begin
//Facteur est un asssenceur avec les valeur Min=1 et max=100
Fact :=Facteur.Position/50; // ajouté par moi
cdep := gauche.color; //Couleur de début
cfin := droite.color; //Couleur de fin
// récupération des Valeur RGB des Couleurs début début et fin
Rdep := getRvalue (cdep); //Rouge Couleur début
Gdep := getGvalue (cdep); //Vert Couleur début
Bdep := getBvalue (cdep); //bleu Couleur début
Rfin := getRvalue (cfin); //Rouge Couleur fin
Gfin := getGvalue (cfin); //Vert Couleur fin
Bfin := getBvalue (cfin); //bleu Couleur fin
// calcul du pas soit 512 la largeur du Canvas.
pr := (Rfin - Rdep) / 512;
pg := (Gfin - Gdep) / 512;
pb := (Bfin - Bdep) / 512;
lg.caption := 'R=' + inttostr(Rdep) + ' G=' + inttostr(Gdep) + ' B=' + inttostr(Bdep);
ld.caption := 'R=' + inttostr(Rfin) + ' G=' + inttostr(Gfin) + ' B=' + inttostr(Bfin);
for i := 0 to 512 do begin
im.Canvas.pen.color := rgb (Rdep +round(i*pr), Gdep+round(i*pg), Bdep+round (
i*pb));
im.canvas.moveto (i,0);
im.canvas.LineTo (i, 64);
end;
end; |
Partager