【发布时间】:2011-01-20 12:08:06
【问题描述】:
确定两个给定值之间的颜色百分比值的最佳方法是什么。换句话说,计算颜色 C 的百分比位置的最佳方法是什么?
颜色 A - 0x0000FF 颜色 B - 0x00CCFF 颜色 C - 0x00FFFF
谢谢!
【问题讨论】:
-
还有这个:code.google.com/p/mojocolors 可能值得研究
标签: flash actionscript-3 hex
确定两个给定值之间的颜色百分比值的最佳方法是什么。换句话说,计算颜色 C 的百分比位置的最佳方法是什么?
颜色 A - 0x0000FF 颜色 B - 0x00CCFF 颜色 C - 0x00FFFF
谢谢!
【问题讨论】:
标签: flash actionscript-3 hex
这并不是那么简单,因为这取决于您决定如何量化颜色。
您可以通过 HSB 来实现,在我看来这是更正确的方式(尽管不一定是事实),或者只使用十六进制值。
最快的方法可能是使用 hax 值
var colour:uint = 0x9900CC;
var r:uint = colour >> 16;
var g:uint = colour >> 8 & 0xFF;
var b:uint = colour & 0xFF;
.这将为您提供每个通道的值(c)(ABC 是颜色)
然后对每个通道进行数学运算 (c)
(cB - cA)/(cC - cA)
然后,一旦你得到了这些 chanel,你可以将它们加在一起并除以 3。
但是有一个问题,如果任何通道的颜色 A 和 C 都相同,则需要添加一个例外(因为 cC 和 CA 为零并且不能除以零),此时您还需要决定如何处理这种差异。
【讨论】: