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 :: Версия для печати :: Косяк при выводе текста на изображение
Форумы портала PHP.SU » » Графика в PHP » Косяк при выводе текста на изображение

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

1. PATCH - 25 Декабря, 2011 - 21:25:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $capture = imagecreatetruecolor('150','30');
  2. $color = imagecolorallocate ($capture, 210, 210, 210);
  3. $white = imagecolorallocate ($capture, 255, 255, 255);
  4. imagefill($capture,0,0,$color);
  5. imageantialias($capture,true);
  6.  
  7. function Generate_Chars()
  8. {
  9.         $chars = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
  10.  
  11.         $rand_keys = array_rand($chars,1);
  12.         echo $chars[$rand_keys];
  13. }
  14.  
  15. $rand_long = mt_rand(2,7);
  16. $x=0;
  17. for ($i=0; $i < $rand_long; $i++)
  18. {
  19.         $dX=20;
  20.         $x=$x+$dX;
  21.         $y=25;
  22.     $size = mt_rand(7,14);
  23.         $angle=mt_rand(-50,50);
  24.         imagettftext ($capture, $size, $angle, $x, $y, $color,"fonts/bellb.ttf",Generate_Chars());
  25. }
  26.  
  27.  
  28.  
  29. header ("Content-type: image/jpeg");
  30. imagejpeg ($capture);


скрипт не допилин (допиливаю) , собственно косяк с функцией imagettftext почему то когда я ее использую изображение вообще не выводится на экран а если уберу ее выводится естествно фон (картинка без текста) вот не пойму хоть убей) ошибка не какая не выводится просто картинка вообще не выводится)) путь до шрифта указан верно)
2. OrmaJever - 25 Декабря, 2011 - 21:48:43 - перейти к сообщению
функция Generate_Chars() выводит символы, а должна возвращать. Из-за этого портится код изображения + хедер скорее всего не отправляется
3. PATCH - 25 Декабря, 2011 - 21:54:21 - перейти к сообщению
1) Header отправляется , уже писал что без imagettftext выводит серый фон (картинки 150х30) без текста естествено
2)
PHP:
скопировать код в буфер обмена
  1. imagettftext ($capture, $size, $angle, $x, $y, $color,"fonts/bellb.ttf","DSADA");

один фиг)
4. OrmaJever - 25 Декабря, 2011 - 21:58:19 - перейти к сообщению
предлогаю дебажить. Убрать строку

Тогда там должна быть ошибка.
5. PATCH - 25 Декабря, 2011 - 22:04:46 - перейти к сообщению
все нашел)) спасибо)) ошибка была в двух местах
1ую ты помог найти (в функции надо было возвращать значение а не выводить
2ая (бональная ошибка) цвет текста = цвету фона D) поэтому когда я исправил ошибку в функции мне выводился тупо фон)) D

 

Powered by ExBB FM 1.0 RC1