// DegraTxt.spr - v 1.0 © 1999 Escot-Sep christophe

// Ecriture d'un texte en dégradé de couleurs

// 3 paramètres :
// 1) Texte à écrire
// 2) Couleur de début
// 3) Couleur de fin

// déclaration variables

var r,r1,r2,g,g1,g2,b,b1,b2:integer;
Color1,Color2,Color:Tcolor;
Texte:String;
Len:integer;

i:integer;
begin


// La fonction GetParam prend 2 paramètres

// 1) le numèro du paramètre à récupérer
// 2) la valeur à utiliser si le paramètre n'existe pas

Texte := GetParam(0,'texte');

// ColorToString transforme la valeur d'une couleur en sont équivalent texte
// StringToColor fait l'inverse

Color1:= StringToColor(GetParam(1,ColorToString(clRed)));
Color2:= StringToColor(GetParam(2,ColorToString(clMaroon)));

// GetRGB extrait les valeur rouge,vert, bleu d'une couleur

GetRGB(color1,r1,g1,b1);
GetRGB(Color2,r2,g2,b2);

R := R1;
G := G1;
B := B1;

// On calcule le nombre de caractères du texte
Len := Length(Texte);
// pour chaqu'un
for i:=1 to len do
begin

Write(format('<<FNT(-,-,$%s,-:%s)>>',[IntToHex(RGB(r,g,b), 6),GetChar(texte,i)]));

R := R + (R2 - R1) div Len;
G := G + (G2 - G1) div len;
B := B + (b2 - b1) div len;

end;


end.

Sommaire