dechex не показывает первые два нуля (из RGB в шестнадцатеричный)

  • Автор темы PrimeLEAD
  • 21
  • Обновлено
  • 13, May 2024
  • #1
Привет, я новичок в PHP и у меня возникла небольшая проблема. Я использую этот PHP-скрипт, чтобы получить цвет RGB из файла jpg...
 
<?php
$image=imagecreatefromjpeg('thumbs/dark-blue-material-texture.jpg');
$thumb=imagecreatetruecolor(1,1); imagecopyresampled($thumb,$image,0,0,0,0,1,1,imagesx($image),imagesy($image));
$mainColor=(dechex(imagecolorat($thumb,0,0)));
echo $mainColor;
?>
PHP: скрипт для изображения «dark-blue-material-texture.jpg» возвращает шестнадцатеричный цвет: 176e из (rgb(0, 23, 110)) но правильный шестнадцатеричный код будет: 00176е

Я вижу, что скрипт не показывает первые два нуля. Есть ли способ показать все нули при использовании dechex?

PrimeLEAD


Рег
03 Jun, 2013

Тем
1

Постов
1

Баллов
11
  • 03, Jun 2024
  • #2
str_pad — твой друг.
 $mainColor = str_pad(dechex(imagecolorat($thumb, 0, 0)), 6, '0', STR_PAD_LEFT);
Код (разметка): @RoseHosting -- ДЕЙСТВИТЕЛЬНО? математика с плавающей запятой выполняет работу вычитания?
 

Ali2045


Рег
05 Feb, 2013

Тем
0

Постов
2

Баллов
2
Тем
49554
Комментарии
57426
Опыт
552966

Интересно