Как преобразовать цветовой код RGBA в HEX6 в PHP? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как преобразовать цветовой код RGBA в HEX6 в PHP? [дубликат]

Сообщение Anonymous »

Я хочу преобразовать значение RGBA в HEX в PHP. Я нашел хорошую помощь для преобразования RGB в HEX (например, преобразование значений цвета RGB в шестнадцатеричные в PHP). Теперь я также попытался изменить значение A (например, rgba(80,80,80,0.5) на, возможно, #D3D3D3 (6 цифр)). Предполагая, конечно, что фон белый.
Ниже попытки.
Есть ли у кого-нибудь какие-нибудь советы о том, как мне это сделать лучше?
Как мне это сделать? получить такой же цвет, но светлее?

Код: Выделить всё

public static function convertRGBAtoHEX6(string $rgba): string
{

if ( strpos( $rgba, '#' ) === 0 ) {
return $rgba;
}

preg_match( '/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i', $rgba, $by_color );

if(isset($by_color[4]))
{
$by_color[4] = 2 - $by_color[4];

$by_color[1] = $by_color[1] * $by_color[4];
$by_color[2] = $by_color[2] * $by_color[4];
$by_color[3] = $by_color[3] * $by_color[4];
}

return sprintf( '#%02x%02x%02x', $by_color[1], $by_color[2], $by_color[3] );

}
Дополнение:
Ответ ниже аналогичен вопросу «Преобразование RGBA в HEX».
Разница в том, что ответ ниже гораздо более подробный, входит в PHP (в том числе о том, как умело разбивать строку RGBA в PHP), а также лучше работает в более легких областях.

Подробнее здесь: https://stackoverflow.com/questions/769 ... ode-in-php
Ответить

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

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

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

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

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