Форумы xBB

Форумы xBB > Вебразработка

PHP-функция для конвертации 16-ричного представления цвета в десятичное

Автор: dima. Последнее редактирование: 2012-01-14 13:56:45

Рылся в своих старых скриптах, выбрасывал ненужные. Но вот нашел функцию, которая преобразует строки вида "#rrggbb" и "#rgb" (шестнадцатеричное представление цвета) в массив десятичных чисел array('r' => r, 'g' => g, 'b' => b), который и возвращает. Если входная строка имеет неверный формат, то возвращает false. Символ решетки в начале входной строки необязателен.
 
Не помню, зачем мне нужна была эта функция, но просто так выбросить жалко. Поэтому выкладываю. Вдруг кому пригодится Well
 
PHP
    /**
     * Convert color string of hexadecimal to array of decimal
     *
     * Convert a string "#rrggbb" or "#rgb" (in hexadecimal form)
     * to an array('r' => r, 'g' => g, 'b' => b) with decimal values.
     *
     * @param string $hexRgb Hexadecimal color string
     * @return array|false   Array of decimal values or false,
     *                       if hexadecimal string invalid
     */

    function hexRgbToDecArray($hexRgb)
    {
        $hexRgb = (string) $hexRgb;
        if (! $hexRgb) {
            return false;
        }
        $result = array();
        if ($hexRgb{0} == '#') {
            $hexRgb = substr($hexRgb, 1);
        }
        $hexRgbLen = strlen($hexRgb);
        if (6 == $hexRgbLen) {
            $result['r'] = hexdec(substr($hexRgb, 0, 2));
            $result['g'] = hexdec(substr($hexRgb, 2, 2));
            $result['b'] = hexdec(substr($hexRgb, 4, 2));
        } elseif (3 == $hexRgbLen) {
            $result['r'] = hexdec($hexRgb{0});
            $result['g'] = hexdec($hexRgb{1});
            $result['b'] = hexdec($hexRgb{2});
        } else {
            return false;
        }
        return $result;
    }

5 комментариев

15.04.2014 13:06:47 #
Google Chrome Гость ivan
Благодарю)
10.03.2019 22:03:58 #
Google Chrome indiv_olia
горячие девочки прямо сейчас на https://prostitutkispb.vip/m...veshheniya/ проститутки со станции проспект просвещения подарит вам прекрасные моменты вашей жизни
21.03.2019 23:11:55 #
Google Chrome Гость revizor.sex
Приятная компания для вас на revizor.sex эскорт недорого поможет выйти в свет или просто провести время
23.03.2019 04:56:53 #
Google Chrome Гость https://liga-shtukaturov.ru/
Быстрей ремонт без лишних трат https://liga-shtukaturov.ru/ штукатурка машинного нанесения сделает за вас всю сложную работу
28.03.2019 18:35:26 #
Google Chrome Гость nearbet.ru
Букмекерские конторы и информация о спортивных событиях. Рейтинги, обзоры, отчеты.

Ответить:

Представиться как     Антибот:
   

Просьба не постить мусор. Пользуйтесь кнопкой предварительного просмотра на панели инструментов редактора.

Введите логин: и пароль: (

© 2007-2019, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.