Я делаю игру для iOS, используя библиотеки cocos2d.
Допустим, у вас есть два объекта с двумя отдельными цветами, определенными в RGB как
Blue: 0,0,255
Yellow: 255,255,0
Я хочу добавить синий и желтый, чтобы получился зеленый.
Чтобы еще больше усложнить ситуацию, предположим, что Синий объект больше, чем Желтый объект (ради аргумента предположим, что соотношение равно 2:1), я добавляю в два раза больше синего, чем желтого — как Я правильно вычисляю этот новый (светло-зеленый) цвет.
Я понимаю, что LAB * Color Space полезен для такого рода «естественных цветов», но я не уверен, как его использовать, особенно в контексте объекта cocos2d, который (насколько мне известно) ограничен использованием RGB в своих цветовых схемах.
Буду очень признателен за практическую помощь в реализации этого. Огромное спасибо!
Обновление от 21/4: Таким образом, в LAB* синий+желтый ≠ зеленый (что имеет смысл, когда вы видите они находятся на противоположных концах одного и того же канала). На самом деле это довольно сложная проблема с небольшимбитомобсуждения SO. Кажется, что окончательный ответ — использовать метод Кубелки-Мунка, который использует часть программного обеспечения с открытым исходным кодом под названием Krita. Нигде не могу найти (ни формулы, ни самого кода).
В этом вопросеесть ссылка, которая использует HSL для работы по методу, аналогичному рисованию. Я попытаюсь посмотреть, работает ли это, и я сообщу результат здесь.
Тем временемесли кто-нибудь знает, как реализовать Kubelka-Munkили где я могу найти код для этого или другое решение, я буду очень и очень доволен!