查找两种已知颜色之间颜色的百分比值

问题描述:

确定两个给定值之间颜色百分比值的最佳方法是什么?换句话说,计算颜色C的%位置的最佳方法是什么?查找两种已知颜色之间颜色的百分比值

颜色A - 0x0000FF B色 - 0x00CCFF C颜色 - 0x00FFFF

谢谢!

+0

还有这个:https://code.google.com/p/mojocolors/可能值得研究 – Daniel 2011-02-02 01:42:24

好吧,这不是那么简单,因为它取决于你如何决定量化颜色。

你可以通过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) 

然后,一旦你得到这些chanels的,您可以通过3

一起加入他们,并分

虽然有一个问题,如果任何通道的颜色A和C都是相同的,那么需要添加一个异常(因为cC和CA为零且不能被零除),在这一点上,您还需要决定如何处理这种差异。

+0

谢谢Daniel,这个工作很完美。 – Andrei 2011-01-20 05:33:51