Seite 1 von 1

Farbkalkulation mit Alpha Werten

Verfasst: 28.05.2012 16:02
von Lambda
Ich versuche gerade ColorBlending-Callbacks zu schreiben. Problem: bei z.B der Farbmultiplikation gibt es Probleme bei den Übergangswerten.

Code: Alles auswählen

    ProcedureReturn RGBA((Red(SourceColor)*Red(TargetColor))/255,(Green(SourceColor)*Green(TargetColor))/255,(Blue(SourceColor)*Blue(TargetColor))/255, Alpha(TargetColor))
Funktioniert einwandfrei in Bereichen des Quellbildes mit Alpha:255. Übergangswerte werden dunkler.. dunkler bis schwarz.

Ab 0 wird der Alpha Wert sowie RGB von Target verwendet. So wird der Transparente Bereich von Bildern ausgeblendet. Auch Zwischenwerte nehmen den Alpha vom Ziel.

Im Grunde brauch ich nur die RGB Kalkulation zwischen SourceColor und TargetColor. Dabei muss Alpha mit berechnet werden da z.B ein durchsichtiger grauer Ball auf einem blauen Bild dunkel-grau-blau mit der Multiplikation ergeben soll.