确定两个给定值之间颜色百分比值的最佳方法是什么。换句话说,计算颜色 C 的 % 位置的最佳方法是什么?
颜色 A - 0x0000FF 颜色 B - 0x00CCFF 颜色 C - 0x00FFFF
谢谢!
最佳答案
这并不是那么简单,因为这取决于您决定如何量化颜色。
您可以通过 HSB 来完成此操作,在我看来这是更正确的方法(尽管不一定是事实)或仅使用十六进制值。
最快的可能是使用 hax 值来做到这一点
var colour:uint = 0x9900CC;
var r:uint = colour >> 16;
var g:uint = colour >> 8 & 0xFF;
var b:uint = colour & 0xFF;
.这将为您提供每个 channel 的值(c)(ABC 是颜色)
然后对每个 channel 进行数学计算 (c)
(cB - cA)/(cC - cA)
然后,一旦获得这些 channel 中的每一个,您就可以将它们加在一起并除以 3。
但是有一个问题,如果任何 channel 的颜色 A 和 C 都相同,则需要添加一个异常(exception)(因为 cC 和 CA 为零,并且不能除以零),此时您也需要决定如何处理这种差异。
关于flash - 查找两种已知颜色之间的颜色百分比值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4743231/