我正在使用 cocos2d 库制作 iOS 游戏。
假设您有两个具有两种不同颜色的对象 - 在 RGB 中定义为
Blue: 0,0,255
Yellow: 255,255,0
我想添加蓝色和黄色来制作绿色。
让事情变得过于复杂,假设蓝色对象比黄色对象大(为了论证,假设比例是 2:1),我添加的蓝色是黄色的两倍 - 我如何计算这个新的(浅绿色)颜色正确。
我了解 LAB * 颜色空间对于这种“自然颜色”之类的东西很有用,但我不确定如何使用它——尤其是在 cocos2d 对象的上下文中,该对象(AFAIK)仅限于在其中使用 RGB配色方案。
我非常感谢有关如何实现这一点的实际帮助。多谢!
21/4 更新:所以在 LAB* blue+yellow ≠ green 中(当您看到它们位于同一通道的两端时,这是有道理的)。稍微 讨论一下 SO,这实际上是一个相当棘手的问题。似乎最终的答案是使用一个名为 Krita 的开源软件使用的 Kubelka-Munk 方法。我在任何地方都找不到(公式或代码本身)。
这个问题有一个链接,它使用 HSL 以类似的方法进行绘画。我会尝试看看它是否有效,我会在这里反馈结果。
与此同时,如果有人知道如何实现 Kubelka-Munk或者我可以在哪里找到代码来执行此操作,或者其他解决方案,我会非常非常激动!