Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#12

AW: TColor - Zusammenfügen der Farben

  Alt 16. Mai 2011, 19:14
Ok, das sieht gut aus. Aber weil ich auch gerade nebenher gebastelt hab (natürlich zeitlich total versagt ) poste ich auch mein Ergebnis, dass Deinen angebotenen Funktionsrumpf als Vorlage hatte:
Delphi-Quellcode:
type
  TARGB = packed record
    A,R,G,B : Byte;
  end;

function MixColor(ARGB : TARGB; Color : TColor): TColor;
var
  R, G, B : Byte;
begin
  R := Color and $FF;
  G := (Color shr 8) and $FF;
  B := (Color shr 16) and $FF;
  R := ((ARGB.R * ARGB.A) + (R * ($FF - ARGB.A))) div $FF;
  G := ((ARGB.G * ARGB.A) + (G * ($FF - ARGB.A))) div $FF;
  B := ((ARGB.B * ARGB.A) + (B * ($FF - ARGB.A))) div $FF;
  Result := R + (G shl 8) + (B shl 16);
end;
Zumindest bei der Berechnung/Mixen scheint es richtig (war da garnicht so sicher)
  Mit Zitat antworten Zitat