Ich habe ein Problem mit der Umwandlung von Farben in Java. Das vereinfachte Problem sieht wie folgt aus:
Meine Anwendung enthält ein Bild. Ich habe ein Recangle über dieses Bild gelegt. Die Farbe des Rechtecks wird als neue Farbe definiert (255, 255, 0, 80).
Ist es möglich, die auf dem Bildschirm angezeigte Farbe in eine Farbe ohne Alpha-Wert ohne die getPixelColor () - Methode zu berechnen / umwandeln? Anders formuliert: Kann ich eine Farbe ohne Alpha-Wert aus einer Farbe mit Alpha-Wert + der darunter liegenden Farbe berechnen?
Ich hoffe, dass mir jemand helfen kann.
Grüße, Michael
Wie der Wikipedia-Artikel angibt (unter der Annahme eines undurchsichtigen Hintergrunds):
%Vor%Haftungsausschluss: habe das nicht getestet, aber es sollte funktionieren.
Wenn die Vordergrundfarbe konstant ist (z. B. ein ausgefülltes transparentes Rechteck), können Sie eine Menge optimieren, indem Sie fgColor.getComponent() * fgColor.getAlpha()
und (255 - fgColor.getAlpha())
vorberechnen.