public static function getColorsFromIndex($index, $rightShift = self::RSHIFT, $sigBits = 8) { $mask = (1 << $sigBits) - 1; $red = ($index >> 2 * $sigBits & $mask) >> $rightShift; $green = ($index >> $sigBits & $mask) >> $rightShift; $blue = ($index & $mask) >> $rightShift; return array($red, $green, $blue); }
/** * @dataProvider provide8bitsColorIndex */ public function testGetColorsFromIndex8bits($r, $g, $b, $index) { $this->assertSame(array($r, $g, $b), ColorThief::getColorsFromIndex($index, 0)); }