Hinzufügen von Farben (Farben) Zusammen, wie die Farbe (Blau + Gelb = Grün, etc.)

Mache ich ein iOS-Spiel mit cocos2d-Bibliotheken.

Können sagen, Sie haben zwei Objekte, zwei separate Farben in RGB definiert als

Blue:    0,0,255
Yellow:  255,255,0

Möchte ich hinzufügen, dass blau und gelb ergeben grün.

Über die Dinge zu komplizieren, nehmen wir an, dass das Blaue Objekt ist größer als das Gelbe Objekt (um des Argumentes Willen lassen Sie uns sagen, dass das Verhältnis 2:1), ich bin das hinzufügen doppelt so viel blau als gelb - wie berechne ich diese neue (hell-grün) Farbe korrekt.

Ich verstehe LAB * - Farbraum eignet sich für diese Art von 'natürlichen Farben' Art der Sache, aber ich bin mir nicht sicher, wie es zu benutzen - vor allem im Kontext des cocos2d-Objekt, das (AFAIK) ist beschränkt auf die Verwendung von RGB in seiner Farbgebung.

Ich würde wirklich zu schätzen praktische Hilfe, wie diese umzusetzen ist. Dank Haufen!

21/4 Update: Also im LABOR* blau+gelb ≠ grün (was Sinn macht, wenn Sie sehen,Sie sind an den entgegengesetzten enden des gleichen Kanals). Es ist eigentlich ein ganz heikles problem mit ein wenig bit der Diskussion über SO. Es scheint, dass die ultimative Antwort ist die Verwendung der Kubelka-Munk-Methode, die ein Stück open-source-software namens Krita verwendet. Ich kann nicht finden, dass irgendwo (entweder die Formel oder den code selbst).

Diese Frage hat ein link, die verwendet HSL-arbeiten in einer ähnlichen Methode zu malen. Ich werde versuchen, um zu sehen, ob es funktioniert, und ich werde füttern Sie das Ergebnis hier.

In der Zwischenzeit wenn jemand weiß, wie das umzusetzen Kubelka-Munk oder wo finde ich im code, um dies zu tun, oder eine andere Lösung, wäre ich sehr, sehr begeistert!

  • Blue + Yellow ist nie Green, wenn Sie erfahren, dass die vorschule. Was das eigentlich bezieht sich auf eine einfache substractive-Farbmodell wie beispielsweise CMYK, wo 1 - Cyan - Yellow ≈ Green (mit Cyan ≈ Blue).
InformationsquelleAutor glenstorey | 2012-04-13
Schreibe einen Kommentar