Thema: Delphi RGB zu Alpha

Einzelnen Beitrag anzeigen

Schokohase
(Gast)

n/a Beiträge
 
#27

AW: RGB zu Alpha

  Alt 21. Aug 2018, 08:21
Dein Original
Delphi-Quellcode:
Result := LOBYTE(round(colrRGB * 0.2989)) +
          LOBYTE(round((colrRGB shr 8) * 0.5870)) +
          LOBYTE(round((colrRGB shr 16) * 0.114));
müsste eigentlich so aussehen
Delphi-Quellcode:
Result := round(LOBYTE(colrRGB) * 0.2989) +
          round(LOBYTE(colrRGB shr 8) * 0.5870) +
          round(LOBYTE(colrRGB shr 16) * 0.114);
Und wenn wir schon dabei sind:
Code:
19595 => 0.2989 * 65536
38470 => 0.5870 * 65536
 7471 => 0.1440 * 65536
Wo ist also der Unterschied ob ich die Luminanz mit
Code:
l = 0.2989 * r + 0.5870 * g + 0.1440 * b
berechne oder mit
Code:
l = ( 19595 * r + 38470 * g + 7471 * b ) / 65536
Genau, es gibt keinen Unterschied, beide Formeln berechnen exakt das Gleiche.
  Mit Zitat antworten Zitat