Перестань. Там нечего писать. Там простая формула и тебе надо две несчастные функции. За какую скорость ты собрался бороться?
oceansites.ru/pallete3/?file=k3.jpg - там на каждом хите вычисление кучи цветов в rgb->xyz->lab, вычисления cie2000, rgb->hsv. Все на тормозном PHP и слеплено на коленке. Какие тормоза? Ты каждый пиксел хочешь перегнать в hsv? Даже это не великая проблема. На кой черт тут библиотека?
На HSV на пыхе:
function RGB2HSV($rgb) {
foreach ($rgb as $C=>$V) {
$rgb[$C] = $V/255;
}
$MAX = max($rgb['R'], $rgb['G'], $rgb['B']);
$MIN = min($rgb['R'], $rgb['G'], $rgb['B']);
if ($MAX == $MIN) {
$HSV['H'] = 0;
} elseif ($MAX == $rgb['R']) {
$HSV['H'] = 60*(($rgb['G'] - $rgb['B'])/($MAX - $MIN));
if ($rgb['B'] > $rgb['G']) {
$HSV['H'] = $HSV['H']+360;
}
} elseif ($MAX == $rgb['G']) {
$HSV['H'] = 60*(($rgb['B'] - $rgb['R'])/($MAX - $MIN))+120;
} else { // if ($MAX == $rgb['B'])
$HSV['H'] = 60*(($rgb['R'] - $rgb['G'])/($MAX - $MIN))+240;
}
if ($MAX == 0) {
$HSV['S'] = 0;
} else {
$HSV['S'] = 1-$MIN/$MAX;
}
$HSV['V'] = $MAX;
return $HSV;
}