ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
7   •   Посмотреть все темы

Грфическая информация о станции (icecast2+php)

 

6245
Тарас @tarasian666
Psyhodelic пишет:

tarasian666 нет кракозябры.

пощелкайте кодировки, когда увидите кирилицу - значит попали на нужную кодировку, вот из нее и надо кодировать

0
144
Руся @Ruskat
А мона ли как-то вывести инфо на юкозе методом ява-скрипта. Чтобы данные из айскаст-сервера брались?

0
3
kaznet @kaznet
Ruskat Нет, через java скрипты такое не возможно

0
6245
Тарас @tarasian666
может с помощью ajax возможно

0
144
Руся @Ruskat
tarasian666? Як?

0
6245
Тарас @tarasian666
Ruskat теоретично :) на практиці не пробував

0
144
Руся @Ruskat
tarasian666 То давай теорію :)
да.. И как читать инфо с параметра server_description ?

Отредактировано Ruskat - 26.07.2010
0
6245
0
32
Pawel @pawel-engraf
а как можно такое жо но для shoutcast сделать?

0
6245
Тарас @tarasian666
суть та же но просто вставить скрипт парсинга shoutcast всесто
Показать текст

0
349
Юрий @Всё-просто
у меня название трека вылезает за рамки изображения , подскажите что нужно дописать чтобы слишком длинные названия переносились на слудующую строку

0
6245
Тарас @tarasian666
делаем strlen проверяя длинну и лишнее с конца отрезаем substr, потом обрезаем в начале нужное кол-во и вставляем в другую строчку

0
349
Юрий @Всё-просто
tarasian666 хех, все бы хорошо. однако php не мое , можно ли как то по подробней?

0
468
Klef @Klef
я например делаю так
  1. $mr=imagettfbbox (6,0, $font, $cur);
  2. $pr=$mr[2];
  3. $ds=strlen($cur);
  4. while ($pr >= $raz) {
  5. $cur1=substr($cur,0,$ds);
  6. $mr=imagettfbbox (6,0, $font, $cur1);
  7. $pr=$mr[2];
  8. $ds=$ds-1;
  9. }
  10. if ($ds!=strlen($cur)) {$cur=$cur1."...";}
  11. imagettftext ($im, 6, 0, $x, $y, $color, $font, $cur);

выполняется чуть дольше, но удобней на "моно" шрифтах

0
349
Юрий @Всё-просто
этим дополнять файл php ?

0
468
Klef @Klef
по желанию

вот есть есть строка вида, что вылазит за границы, предположим она генерируются строкой
  1. imagettftext ($im, 6, 0, $x, $y, $color, $font, $cur);

где $cur это переменная с текстом, тогда перед ней фигачиш вставку, меняя $cur на что у тя в коде

0
349
Юрий @Всё-просто
я взял вот этот код изменил только положение
  1. <?php
  2. header ("Content-type: image/png");
  3. $im = ImageCreateFromPng("blank.png");
  4. $color = imagecolorallocate ($im, 255, 255, 255);
  5. $file_name='http://wasteland.spb.su:8080/status2.xsl';
  6. $r=fopen($file_name,'r');
  7. $text=fread($r,1000);
  8. fclose($r);
  9. $mass=explode(",", $text);
  10. $current="track".$mass [16];
  11. imagettftext ($im, 6, 0, 15, 20, $color, "ft.ttf",$current);
  12. imagepng ($im);
  13. imagedestroy ($im);
  14. ?>

Отображалось все как надо

Добавил к нему

  1. $mr=imagettfbbox (6,0, $font, $cur);
  2. $pr=$mr[2];
  3. $ds=strlen($cur);
  4. while ($pr >= $raz) {
  5. $cur1=substr($cur,0,$ds);
  6. $mr=imagettfbbox (6,0, $font, $cur1);
  7. $pr=$mr[2];
  8. $ds=$ds-1;
  9. }
  10. if ($ds!=strlen($cur)) {$cur=$cur1."...";}
  11. imagettftext ($im, 6, 0, $x, $y, $color, $font, $cur);

картинка опустела

0
833
metra52 @metra52
ты переменные сравни. они разные

0
468
Klef @Klef
  1. $mr=imagettfbbox (6,0, $font, $cur);
  2. $pr=$mr[2];
  3. $ds=strlen($cur);
  4. while ($pr >= $raz) {
  5. $cur1=substr($cur,0,$ds);
  6. $mr=imagettfbbox (6,0, $font, $cur1);
  7. $pr=$mr[2];
  8. $ds=$ds-1;
  9. }
  10. if ($ds!=strlen($cur)) {$cur=$cur1."...";}
  11. imagettftext ($im, 6, 0, $x, $y, $color, $font, $cur);


забыл сказать в переменной $raz храниться значения максимальной длины строки в пикселях.

0
349
Юрий @Всё-просто
то есть получается так (я предполагаю) :/

  1. <?php
  2. header ("Content-type: image/png");
  3. $im = ImageCreateFromPng("blank.png");
  4. $color = imagecolorallocate ($im, 255, 255, 255);
  5. $file_name='http://wasteland.spb.su:8080/status2.xsl';
  6. $r=fopen($file_name,'r');
  7. $text=fread($r,1000);
  8. fclose($r);
  9. $mass=explode(",", $text);
  10. $current="track".$mass [16];
  11. $mr=imagettfbbox (6,0, $font, $file_name);
  12. $pr=$mr[2];
  13. $ds=strlen($file_name);
  14. while ($pr >= $raz) {
  15. $cur1=substr($cur,0,$ds);
  16. $mr=imagettfbbox (6,0, $font, $cur1);
  17. $pr=$mr[2];
  18. $ds=$ds-1;
  19. }
  20. if ($ds!=strlen($file_name)) {$file_name=$cur1."...";}
  21. imagettftext ($im, 6, 0, $x, $y, $color, $font, $cur);
  22. imagettftext ($im, 6, 0, 15, 20, $color, "ft.ttf",$current);
  23. imagepng ($im);
  24. imagedestroy ($im);
  25. ?>

несмейтесь... :D

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.