Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

foreach

Frischling

  • »foreach« ist der Autor dieses Themas

Beiträge: 87

Beruf: Student

  • Private Nachricht senden

1

03.10.2010, 17:22

argb-Farben übereinander legen

Hi!
Ich stehe gerade irgendwie auf dem Schlauch und komme einfach nicht drauf wie ich beliebige Farbwerte in Form eines Integers, mit unterschiedlichen Opazitäts-Werten, "übereinander" legen kann.
Ich hoffe ihr könnt mir weiter helfen.

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

2

04.10.2010, 08:40

Du redest gewissermaßen von "Alphablending", wenn ich die Frage richtig verstehe. Dazu gibt es prinzipiel mehrere Möglichkeiten, eine Suchmaschine wird dir dabei auch jede Menge ausspucken. Besonders wichtig ist die Frage, welche Rolle die Opazitäts, also Alphwerte, jeweils spielen. Normalerweise spielt der Alphawert des bereits vorhandenen Pixels keine Rolle mehr - den dieser wurde bei einem dargestellten Bild ja bereits irgendwie verrechnet. Möchte man auf ein bereits vorhandenes Bild nun was neues transparent darüberlegen, dann errechnet sich die Farbe eines jeden Pixels meistens so:

r = altesRot * (1-neuesAlpha) + neuesRot * (neuesAlpha)
g = altesGrün * (1-neuesAlpha) + neuesGrün * (neuesAlpha)
b = altesBlau * (1-neuesAlpha) + neuesBlau * (neuesAlpha)
a = neuesAlpha // das kann man aber auch weglassen bei dem Verfahren, da der Alphawert im Ausgangsbild da keine Rolle mehr spielt.

Dabei solltest du jedoch "neuesAlpha" in einen floatwert von 0-1 umgerechnet haben, sonst funktioniert das ganze mit Integern nicht ;)
An sich macht es meistens sinn alle Farbwerte als Gleitkommazahlen darzustellen

Die meisten Transparenzeffekte benutzen dieses Verfahren. Aber letztlich kann man da machen was man will.

foreach

Frischling

  • »foreach« ist der Autor dieses Themas

Beiträge: 87

Beruf: Student

  • Private Nachricht senden

3

04.10.2010, 14:31

Danke für die Antwort.
Mithilfe des Beriffs "Alphablending" habe ich passende Artikel gefunden.
Es ist eben nur manchmal schwer, etwas passendes zu finden wennn man nicht weiß wie das Gesuchte heißt.

Werbeanzeige