Ich mache ein iOS-Spiel mit cocos2d-Bibliotheken.Hinzufügen von Farben (Farben) Zusammen wie Malen (Blau + Gelb = Grün, usw.)
Können sagen, Sie haben zwei Objekte, die zwei separate Farben haben - definiert in RGB als
Blue: 0,0,255
Yellow: 255,255,0
I blau und gelb machen grün hinzufügen möchten.
Um Dinge zu komplizieren, sagen wir, dass das blaue Objekt größer als das gelbe Objekt ist (um das Argument zu sagen, dass das Verhältnis 2: 1 ist), addiere ich doppelt so viel Blau wie Gelb - wie Ich berechne diese neue (hellgrüne) Farbe richtig.
Ich verstehe LAB * Farbraum ist nützlich für diese Art von 'natürlicher Farbe' Art von Sache, aber ich bin mir nicht sicher, wie man es verwendet - vor allem im Zusammenhang mit einem cocos2d-Objekt, das (AFAIK) beschränkt ist RGB in seinen Farbschemata verwenden.
Ich würde wirklich praktische Hilfe schätzen, wie dies zu implementieren ist. Tausend Dank!
21/4 Update: Also in LAB * blau + gelb ≠ grün (was sinnvoll ist, wenn Sie they're at opposite ends of the same channel sehen). Es ist eigentlich ein ziemlich kniffliges Problem mit einer littlebit Diskussion über SO. Es scheint, dass die ultimative Antwort die Kubelka-Munk-Methode ist, die ein Stück Open-Source-Software namens Krita verwendet. Ich kann das nirgendwo finden (entweder die Formel oder den Code selbst).
This question hat a link, die HSL verwendet, um in einer ähnlichen Methode zu malen. Ich werde versuchen zu sehen, ob es funktioniert, und ich werde das Ergebnis hier wiedergeben.
In der Zwischenzeit if anyone knows how to implement Kubelka-Munk oder wo ich Code, dies zu tun finden können oder eine andere Lösung, würde ich sehr, sehr begeistert!
'Blue + Yellow' ist nie' Green', wenn Sie erfahren, dass in der Vorschule. Worauf es sich tatsächlich bezieht, ist ein einfaches substraktives Farbmodell wie CMYK, wobei "1 - Cyan - Gelb ≈ Grün" (mit "Cyan ≈ Blau"). – leftaroundabout