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
 
#8

Re: Simple Grafikfunktionen

  Alt 3. Mai 2007, 16:48
Hallo, da gibt es die beiden Verfahren "Blending" und noch was anderes, wo mir jetzt der name nicht einfällt. Aber du kannst es natürlich wiederum linear machen:

Delphi-Quellcode:
function LinearBlendedColor(CBack, CFront: TColor; alpha: Byte): TColor;
var
  r1,r2,g1,g2,b1,b2,rr,gr,br: Byte; //1,2,result
begin
  r1 := GetRValue(CBack);
  g1 := GetGValue(CBack);
  b1 := GetBValue(CBack);
  r2 := GetRValue(CFront);
  g2 := GetGValue(CFront);
  b2 := GetBValue(CFront);

  rr := r1 * round(1- (alpha / 255)) + r2 * round(alpha / 255);
  gr := g1 * round(1- (alpha / 255)) + g2 * round(alpha / 255);
  br := b1 * round(1- (alpha / 255)) + b2 * round(alpha / 255);

  Result := RGB(rr,gr,br);
end;
So in etwa sollte das hinhauen. exakte formeln sollten sich über internet aber durchaus finden lassen, z.B. in der Wikipedia.
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