Thema: Delphi RGB zu Alpha

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#19

AW: RGB zu Alpha

  Alt 20. Aug 2018, 22:06
Zitat:
D.h. du musst deine function Rgb2Alpha(colrRGB: Colorref): Byte; nur genau dann aufrufen, wenn p=0 ist.
Ich mache nichts anderes nur wo ich die Berechnung ausführe ist gehüpft wie gesprungen..
Delphi-Quellcode:
function Rgb2Alpha(colrRGB: Colorref): Byte;
begin
    if colrRGB <> 0 then
Nur dann hole ich mir die werte.
Einen 0 wert berechnen zu wollen macht keinen sinn der bleibt immer 0.

s := round( a + b + c )
Jo ist sinnvoll wenn es ginge.
Denn ich multiplizier zu Colorref einen single type deshalb muss ich bei jedem
(colrRGB * 0.2989) ein Round vorsetzen.

Das! Wird nix
Delphi-Quellcode:
      Result := Round(LOBYTE(colrRGB * 0.2989) + LOBYTE((colrRGB shr 8) * 0.5870) +
        LOBYTE((colrRGB shr 16) * 0.114)))
Zitat:
Deine Funktion Rgb2Alpha berechnet in der Tat die Luminanz eines Pixels.
https://de.wikipedia.org/wiki/Luminanz
Richtig! auch die Annahme das mich nur <> 0 interessiert.

Zitat:
Nur ist es bei dir fehlerhaft programmiert.
Quatsch..

gruss

Geändert von EWeiss (20. Aug 2018 um 23:02 Uhr)
  Mit Zitat antworten Zitat