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 nieGreen
, wenn Sie erfahren, dass die vorschule. Was das eigentlich bezieht sich auf eine einfache substractive-Farbmodell wie beispielsweise CMYK, wo1 - Cyan - Yellow ≈ Green
(mitCyan ≈ Blue
).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Farbe Modell, bei dem mischen von blau und gelb macht grün. Versuchen Sie es selbst mit gouache, die einzige Möglichkeit, die es funktioniert, ist cyan und gelb. Dies ist, warum Sie sollten versuchen, die Umschaltung von RGB zu CMYK, und zurück, wenn Sie müssen. Hier ist wie es gemacht wird
Und dann in deinem code, Mischung der Farben cyan und gelb
Ausführen des Codes wird die Ausbeute:
RGB mix = (0.000000, 255.000000, 0.000000)
Überprüfen Sie die Formeln auf dieser Seite: http://www.easyrgb.com/index.php?X=MATH
Ich mache etwas ähnliches, und es kann erreicht werden, durch die Umwandlung von RGB->XYZ->Lab. Aber die Berechnung ist ziemlich teuer(wenn Sie es tun, für eine Menge Pixel).
Vergessen Sie die RGB-Mathematik beim Versuch, Farben mischen, wenn Sie möchten, erhalten Sie Ergebnisse ähnlich wie das menschliche Auge
Ich denke, es ist einen Versuch Wert HSL-Farbraum. Beim hinzufügen von Farben, die wir interpolieren, Ihr Hue-Werte (auch unter Berücksichtigung der Objekte GEWICHTE). Wenn die Farben mit 100% Sättigung, Luminanz und Sättigung Werte gleich sein.
Farbstoffe gibt, die nicht in der realen Welt ganz wie in subtraktive Farbe-Modellen schlägt. Die verwendeten Farbstoffe für CYMK-drucken sind ziemlich nah, da Sie die Formel für diesen Zweck, aber viele Farbstoffe aus natürlich vorkommenden Substanzen können Verhalten sich etwas seltsam. Die Schwierigkeit ist, dass, während weißes Licht wahrgenommen wird als eine Kombination von rot, grün und blau, es besteht eigentlich aus vielen verschiedenen Wellenlängen-wörtlich "alle Farben des Regenbogen" - von denen jedes die den rot -, grün-und blau-Rezeptoren im Auge durch unterschiedliche Mengen. Es ist möglich, dass zwei Farben, die identisch zu sein scheinen in der Tat enthalten verschiedene Kombinationen von Wellenlängen, ebenso zwei Farbstoffe können identisch zu sein scheinen, wenn die Anzeige mit weißem Licht, sondern nehmen verschiedene Kombinationen von Wellenlängen. Solche Farbstoffe können genauso Aussehen wie jeder andere, wenn allein verwendet, sondern kann die Ausbeute sehr unterschiedlich erscheinende Ergebnisse, wenn in Kombination mit etwas anderem.
Obwohl Farben können manchmal schwierig sein, aber die Farben sind noch schlimmer. Farben enthalten reflektierende Partikel, und einige von dem Licht, das hat eine lackierte Oberfläche, wird reflektiert von der Oberfläche durch die erste Partikel, die Sie trifft; in dieser Hinsicht, Sie mischen wie additive Farben. Zum Beispiel, wenn die Farbe enthält 20% green-Teilchen, die dann eine erhebliche Menge von grünes Licht wird reflektiert, unabhängig davon, welche anderen Farben es enthalten kann. Auf der anderen Seite, einige der das Licht, das zuvor auf einer lackierten Oberfläche zu hüpfen, und drücken Sie mehrere Partikel. Wenn diese Teilchen absorbiert ein photon der Farbe, das photon wird nicht reflektiert. In dieser Hinsicht, die Farben Verhalten sich mehr wie subtraktiven Farben. In der Praxis, die Farben Verhalten sich etwas wie additive Farben, so etwas wie der subtraktiven Farben, und manchmal wie ein etwas seltsam und abgedreht und ganz im Gegensatz zu entweder.
Tatsächlich scheint es, dass die Konvertierung von RGB->XYZ->LAB übernimmt exatly das gleiche wie RGB->LAB