Преобразование всего RGB в десятичное значение одного пикселя - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть следующий код, который преобразует пиксель изображения в соответствующие значения RGB. Теперь мне нужно преобразовать все значения RGB в одно десятичное число, которое обычно возвращается imagecolorat ($ resource, $ x, $ y), После попытки сравнения пути и поиск в Интернете, я не смог придумать способ, надеюсь, мне удастся дать мне простой способ.

<?php

$resource = imagecreatefrompng("c.png");

$pixelValue=imagecolorat($resource, 1, 1); // this normally return something as 402399

// but after performing this

$r = ($PixelsValue >> 16) & 0xFF; // result will be $r= 16

$g = ($PixelsValue>> 8) & 0xFF; // result will be $g=123

$b = $PixelsValue& 0xFF; // result will be $b=200

// now I want to return $r= 16,$g=123 and $b=200 to 402399

?>

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете использовать base_convert, документация здесь . Вы переводите из шестнадцатеричных значений в десятичные, довольно просто.

<?php
$r = '16';
$g = '123';
$b = '200';
$r = base_convert($r, 10, 16);
$g = base_convert($g, 10, 16);
$b = base_convert($b, 10, 16);
$value = $r.$g.$b;
echo $value; //will output 107bc8
?>
...