Найти процентное значение цвета между двумя известными цветами - PullRequest
6 голосов
/ 20 января 2011

Как лучше всего определить процентное значение цвета между двумя заданными значениями. Другими словами, каков наилучший способ рассчитать% положение цвета C?

Цвет A - 0x0000FF Цвет B - 0x00CCFF Цвет C - 0x00FFFF

Спасибо!

1 Ответ

6 голосов
/ 20 января 2011

ну, это не так просто, потому что это зависит от того, как вы решите квантовать цвет.

Вы можете сделать это через HSB, что, на мой взгляд, является более правильным способом (хотя это не обязательно факт) или просто использовать шестнадцатеричное значение.

Быстрее всего сделать это, используя значения hax

var colour:uint = 0x9900CC;
var r:uint = colour >> 16;
var g:uint = colour >> 8 & 0xFF;
var b:uint = colour & 0xFF;

. Это даст вам значение каждого канала (с) (ABC - цвета)

затем выполнить математические расчеты для каждого канала (с)

(cB - cA)/(cC - cA)

затем, как только вы получите каждый из этих каналов, вы можете сложить их вместе и разделить на 3.

есть одна проблема, хотя, если цвета A и C всегда одинаковы для любого канала, вам нужно добавить исключение (потому что cC и CA равны нулю, и вы не можете делить на ноль), в этот момент вы нужно решить, как справиться с этой разницей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...