Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Большое число перевести в ASCII символы
Форумы портала PHP.SU » » Вопросы новичков » Большое число перевести в ASCII символы

Страниц (1): [1]
 

1. Alt.F4 - 14 Августа, 2011 - 21:31:15 - перейти к сообщению
Добрый день.
Вывожу на google map трэки, и дабы при наложении друг на друга их можно было отличить, решил менять цвет.
Но загвоздка следующая:
Цвет в KML для карт представлен в формате aaggbbrr, т.е "FF0000FF" - красный.
Хочу в цикле добавления маршрута инкрементировать цвет. Из ASCII в число я перевел, а вот обратно, никак не получается. Уже целый день мучаюсь...
Есть ли решения?
Спасибо.
2. xsh - 15 Августа, 2011 - 00:44:28 - перейти к сообщению
возможно поможет ord()
3. Мелкий - 15 Августа, 2011 - 08:56:00 - перейти к сообщению
Это же 16-ричная система счисления, ну и работайте с 16-ричной системой.
dechex, hexdec
4. Alt.F4 - 15 Августа, 2011 - 09:32:33 - перейти к сообщению
Оно то все считает, но стоит перевести данное число в стринг, то на выходе получается только dec, а не hex.
5. КЫР - 15 Августа, 2011 - 09:48:12 - перейти к сообщению
Попробуйте отделить от исходного значения alpha, конвертируйте в десятиричное, прибавляйте, например, 64, потом обратно в 16-ричное и прикрепляйте alpha. Если различия цветов малы, увеличте инкремент.
6. Мелкий - 15 Августа, 2011 - 09:52:27 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $r=0;
  2. $g=245;
  3. $b=64;
  4. $a=255;
  5. printf('%02X %02X %02X %02X',$r,$g,$b,$a);
  6.  
7. Alt.F4 - 15 Августа, 2011 - 21:38:40 - перейти к сообщению
Мелкий, спасибо. Так работает.
Как бы сейчас написать функцию, которая плавно изменяет $r, $g, $b... Растерялся

 

Powered by ExBB FM 1.0 RC1