Вывод картинки из шестнадцатеричного кода с помощью base64

Есть список цветов в шестнадцатеричном формате - пробую преобразовать этот код в base64 формат, чтоб вывести в качестве источника картинки.

<?php
$code = "1111ff";
echo "<img src='data:image/png;base64,".base64_encode(hex2bin($code))."'>";
?>

Но понимаю, что получается что-то не то.

<img src='data:image/jpeg;base64,ERH/'>

Как сделать, чтоб этот код преобразовывался в понимаемую браузером картинку?


Ответы (1 шт):

Автор решения: fixer

Решил данный вопрос через svg.

<?php
$hex_code = "1111ff";
list($r, $g, $b) = sscanf($hex_code, "%02x%02x%02x");
$image = "data:image/svg+xml;utf8,<svg height='30' width='30' xmlns='http://www.w3.org/2000/svg' version='1.1'><circle cx='15' cy='15' r='30' fill='rgb($r,$g,$b)'/></svg>";
?>
<img src="<?=$image;?>" alt="<?=$hex_code;?>"/>
→ Ссылка