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 gd
Форумы портала PHP.SU » » Вопросы новичков » Не отображается изображение, нарисованное в php gd

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

1. Webtest - 05 Августа, 2014 - 18:02:38 - перейти к сообщению
Здравствуйте.

Опять столкнулся с ошибкой: Изображение ... не может быть показано т.к. содержит ошибки.
Хотя, код просто скопирован отсюда: http://php.net//manual/ru/function.imagearc.php
Пробовал другие коды с выводом на экран через header делать, такая же ошибка.
Пробовал ставить header на 1 место, чтобы перед ним не было символов - не помогло.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // создаем изображение 200*200
  4. $img = imagecreatetruecolor(200, 200);
  5.  
  6. // создаем несколько цветов
  7. $white = imagecolorallocate($img, 255, 255, 255);
  8. $red   = imagecolorallocate($img, 255,   0,   0);
  9. $green = imagecolorallocate($img,   0, 255,   0);
  10. $blue  = imagecolorallocate($img,   0,   0, 255);
  11.  
  12. // рисуем голову
  13. imagearc($img, 100, 100, 200, 200,  0, 360, $white);
  14. // рот
  15. imagearc($img, 100, 100, 150, 150, 25, 155, $red);
  16. // глаза
  17. imagearc($img,  60,  75,  50,  50,  0, 360, $green);
  18. imagearc($img, 140,  75,  50,  50,  0, 360, $blue);
  19.  
  20. // выводим изображение в броузере
  21. header("Content-type: image/png");
  22. imagepng($img);
  23.  
  24. // освобождаем память
  25.  
  26. ?>
  27.  

(Добавление)
Или вот по другому попробовал, пишут что у всех работает, а у меня нет, хотя, библиотека гд, вроде, включена.
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.         <meta charset="UTF-8">
  5.         <title>Document</title>
  6. </head>
  7. <body>
  8.     <table>
  9.       <tr>
  10.         <td width="200" height="200" align="center">
  11.           <img src="Img.php">
  12.         </td>
  13.       </tr>
  14.     <table>
  15. </body>
  16. </html>
  17.  

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.             header ("Content-type: image/png");
  3.             $img = ImageCreate (190, 190)
  4.                     or die ("Ошибка при создании изображения");        
  5.             $couleur_fond = ImageColorAllocate ($im, 252, 253, 253);
  6.             ImageColorAllocate (4, 216, 247);
  7.             ImagePng ($im);
  8.     ?>

Спойлер (Отобразить)
2. Viper - 05 Августа, 2014 - 19:44:47 - перейти к сообщению
Научитесь уже использовать var_dump()
3. Webtest - 05 Августа, 2014 - 19:48:45 - перейти к сообщению
Viper, что завардампить-то?
4. Tyoma5891 - 05 Августа, 2014 - 20:15:11 - перейти к сообщению
Webtest пишет:
Viper, что завардампить-то?

открытый космос... Не понял
первое проверить подключена ли в пхп.ини библиотека php_gd2.dll, вторjе header ставить на первое место...
5. Webtest - 05 Августа, 2014 - 20:30:04 - перейти к сообщению
Tyoma5891
Вот что выдает пхпинфо:
Спойлер (Отобразить)

Ставил header в самом верху и удалял все что могло быть до него, делал просто php скрипт, все равно ошибка.
6. Tyoma5891 - 05 Августа, 2014 - 20:45:23 - перейти к сообщению
Webtest пишет:
Tyoma5891
Вот что выдает пхпинфо:
Спойлер (Отобразить)

Ставил header в самом верху и удалял все что могло быть до него, делал просто php скрипт, все равно ошибка.

мне это ни о чем не говорит)
7. teddy - 05 Августа, 2014 - 20:57:50 - перейти к сообщению
Tyoma5891 пишет:
вторjе header ставить на первое место

В данном контексте это никак не повлияет на выполнение скрипта в связи с тем, что вывода до отправки заголовков в контексте приведенного PHP кода нет.

Webtest
Код рабочий. Перед <?php не должно быть даже пробелов. Никакого вывода. Так же этот файлик со скриптом, не должен никуда инклюдиться, где есть какой либо вывод. Если все эти правила соблюдены, попробуйте пересохранить документ как UTF-8 без BOM.



Вспомнил герд-а Улыбка
8. Webtest - 05 Августа, 2014 - 21:36:11 - перейти к сообщению
Tyoma5891, там говорится что гд подключен и работает.
teddy, вот, заново создал файлик с кодировкой ютф-8 с БОМ, копировал туда это:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // создаем изображение 200*200
  4. $img = imagecreatetruecolor(200, 200);
  5.  
  6. // создаем несколько цветов
  7. $white = imagecolorallocate($img, 255, 255, 255);
  8. $red   = imagecolorallocate($img, 255,   0,   0);
  9. $green = imagecolorallocate($img,   0, 255,   0);
  10. $blue  = imagecolorallocate($img,   0,   0, 255);
  11.  
  12. // рисуем голову
  13. imagearc($img, 100, 100, 200, 200,  0, 360, $white);
  14. // рот
  15. imagearc($img, 100, 100, 150, 150, 25, 155, $red);
  16. // глаза
  17. imagearc($img,  60,  75,  50,  50,  0, 360, $green);
  18. imagearc($img, 140,  75,  50,  50,  0, 360, $blue);
  19.  
  20. // выводим изображение в броузере
  21. header("Content-type: image/png");
  22. imagepng($img);
  23.  
  24. // освобождаем память
  25.  
  26. ?>

Это весь код файлика, с 1 строчки.
Все равно ошибка.
9. teddy - 05 Августа, 2014 - 22:02:12 - перейти к сообщению
Webtest пишет:
Все равно ошибка.

А что за ошибка? Просто ошибка и всё? Улыбка

Webtest пишет:
заново создал файлик с кодировкой ютф-8 с БОМ

а надо бы без BOM.
10. Viper - 05 Августа, 2014 - 22:06:18 - перейти к сообщению
Webtest пишет:
ютф-8 с БОМ
надо без BOM.
Да и в конце концов нах*на нам var_dump, echo, print_r и т.д. для отладки. Мы ж умеем по тексту ошибки угадывать...

Иногда помогает сохранить изображение и открыть по F4 как текст. Это если уж совсем туго.
11. Webtest - 06 Августа, 2014 - 15:40:46 - перейти к сообщению
Ниндзя переделал кодировку документа с utf-8 with BOM на utf-8 и заработало.
Меня сбило с толку название кодировок, то пишут w/o (without) то просто with.
Всем спасибо за помощь.

 

Powered by ExBB FM 1.0 RC1