// 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.
// 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.