Thema: Delphi Simple Grafikfunktionen

Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Simple Grafikfunktionen

  Alt 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
  Mit Zitat antworten Zitat