RGB до ближайшего предопределенного цветаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 RGB до ближайшего предопределенного цвета

Сообщение Anonymous »

edit: < /strong> < /p>

С помощью ответа я сделал эту функцию < /p>

function grabclosestcolor($r, $g, $b){
$colors = array(array(124,12,12),array(7,7,11),array(110,224,219),array(123,123,123),array(124,177,74),array(130,86,53),array(77,77,77),array(164,124,68),array(204,196,132),array(164,148,147),array(163,123,67),array(26,122,26), array(195,195,50),array(193,193,193),array(255,248,73),array(243,243,243));
$differencearray = array();
foreach ($colors as $value) {
$difference = sqrt(pow($r-$value[0],2)+pow($g-$value[1],2)+pow($b-$value[2],2));
array_push($differencearray, $difference);
$smallest = min($differencearray);
$key = array_search($smallest, $differencearray);
return $colors[$key];
}
}
< /code>


Моя цель - это. Я беру изображение и циклу через каждый пиксель и беру его x, y и rgb. />
$colors = array(array(124,12,12),array(7,7,11),array(110,224,219),array(123,123,123),array(124,177,74),array(130,86,53),array(77,77,77),array(164,124,68),array(204,196,132),array(164,148,147),array(163,123,67),array(26,122,26), array(195,195,50),array(193,193,193),array(255,248,73),array(243,243,243));
< /code>

И вот мой существующий код, который проходит через все это. < /p>

$int = imagesx($im) - 1;
$int2 = imagesy($im) - 1;
$start2 = 0;
do{
$start = 0;
do{
$rgb = imagecolorat($im, $start, $start2);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$value = rgb2hex($r,$g,$b).":$start:$start2";
array_push($colorsofimage, $value);
} while($int > $start++);
} while($int2 > $start2++);
< /code>

rgb2Hex - это функция, определенная пользователем, но я хочу сделать это, так это изменить эту функцию с помощью функции, чтобы получить ближайший цвет. < /p>

$ colorsofimag rgb2Hex (новая функция ($ r, $ g, $ b));
, чтобы новый шестнадцатеричный - это 1 из заранее определенного массива.>

Подробнее здесь: https://stackoverflow.com/questions/448 ... ined-color
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»