Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
Delphi 2006 Professional
|
Re: Simple Grafikfunktionen
3. Mai 2007, 17:30
Hallo,
das geht natürlich:
Delphi-Quellcode:
function LinearGradientStep(ColStart, ColEnd: TColor; Length, Step: Integer): TColor;
var
r1,r2,g1,g2,b1,b2,rr,gr,br,rd,bd,gd: Byte; //1,2,result,delta
begin
r1 := GetRValue(ColStart);
g1 := GetGValue(ColStart);
b1 := GetBValue(ColStart);
r2 := GetRValue(ColEnd);
g2 := GetGValue(ColEnd);
b2 := GetBValue(ColEnd);
rd := r2 - r1;
gd := g2 - g1;
bd := b2 - b1;
rr := r1 + round(rd * step / length);
gr := g1 + round(gd * step / length);
br := b1 + round(bd * step / length);
Result := RGB(rr,gr,br);
end;
falls ich mich nicht irgendwo vertan hab, bekommst du damit auf einem linearen farbverlauf von ColStart nach ColEnd, der über die Länge Length geht, die Farbe an der Stelle Step.
Das musst du jetzt nur noch in eine Schleife einfügen, die über die gesamte länge iteriert und entsprechend zeichnet.
Lukas Erlacher Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
|
|
Zitat
|