PHP Color Manipulation - PullRequest
       5

PHP Color Manipulation

5 голосов
/ 13 апреля 2010

В настоящее время я изучаю манипуляции с цветом / выбор и т. Д. И наткнулся на следующий фрагмент кода. Мне было интересно, кто-то может сказать мне, что делает следующий фрагмент кода, и разбить его для меня, спасибо!

$newVal = round(round(($rgb['red'] / 0x33)) * 0x33);

В частности, что такое 0x33

Благодарю за внимание

Ответы [ 4 ]

3 голосов
/ 13 апреля 2010

Кажется, что он конвертирует $rgb['red'] ближайшее кратное 0x33.

Вероятно, так и происходит, поэтому цвет в конечном итоге попадает в так называемую «безопасную для сети» цветовую палитру, которая (если я правильно помню) состоит из цветов, значения rgb которых кратны 0x33.

0x33 - это базовое 16 (шестнадцатеричное) представление 51 (десятичное число).

1 голос
/ 13 апреля 2010

0x33 - 51, поэтому он масштабирует значение 0-255 одного байта до 0-5, а затем уменьшает его. Это приводит к тому, что значение устанавливается на наибольшее значение, кратное 51, ниже значения.

0 голосов
/ 13 апреля 2010

Как указано @Seth, цвета округляются до ближайшего «безопасного для сети» цвета. Это старая идея, восходящая ко времени, когда большинство цветных дисплеев были 8-битными. Одним из людей, сделавших его популярным, был Visibone, поскольку их «веб-карта цветов» была их первым продуктом.

См. Веб-цвета для получения дополнительной информации.

0 голосов
/ 13 апреля 2010

0x33 - это просто шестнадцатеричное значение для 33.

Я не совсем уверен, что происходит, но я думаю, что он вычисляет безопасный веб-гекс любого цвета. Или что-то в этом роде.

...