2012-12-26 2 views
4

Это Link Я следующий, чтобы создать изображение, однако мой GD установлен и работает правильно, поскольку я тестировал с помощью первого примера, но этот код разбивается и флаг " Изображение не может быть отображено, так как оно содержит ошибку ".Изображение не может быть отображено, так как оно содержит ошибку в php gd

КОД -

<?php 
//phpinfo(); 

//Report any errors 
ini_set("display_errors", "1"); 
error_reporting(E_ALL); 

//Set the content type 
header('content-type: image/png'); 

//Create our basic image stream 300x300 pixels 
$image = imagecreate(300, 300); 
//$image = imagecreatetruecolor(300, 300); 
//Set up some colors, use a dark gray as the background color 
$dark_grey = imagecolorallocate($image, 102, 102, 102); 
$white = imagecolorallocate($image, 255, 255, 255); 

//Set the path to our true type font 
//$font_path = 'advent_light'; 
//$font_path = 'advent_light.ttf'; 
//$font_path = 'arial'; 
$font_path = 'arial.ttf'; 

//Set our text string 
$string = 'Swapnesh!'; 

//Write our text to the existing image. 
imagettftext($image, 50, 0, 10, 160, $white, $font_path, $string); 

//Create our final image 
imagepng($image); 

//Clear up memory 
imagedestroy($image); 
?> 

Вещь, которые я попробовал и гугл, но без решения является -. :(

  • проверяемых белых/пробелов перед тем PHP тега если
  • Удалите все коды и пробелы перед header().
  • Изменено imagecreate() до imagecreatetruecolor() как в комментариях в коде.
  • Проверенный font_path и установка шрифта в соответствии с комментариями.
  • Следящие this & this.

Мой PHP версия - PHP Version 5.3.8

Тем не менее не удалось обнаружить проблему :(

enter image description here

Ошибка

Error

редактирует -

версия 1,0

это то, что им получать на спасение.

enter image description here

Подробнее об имидже -

enter image description here

на сохранение страницы - это имя файла сохранения - create_png.php.png

версия 1.1

<br /> 
<b>Warning</b>: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Invalid font filename in <b>C:\xampp\htdocs\Core\CoreFiles\create_png.php</b> on line <b>20</b><br /> 
<br /> 
<b>Warning</b>: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Invalid font filename in <b>C:\xampp\htdocs\Core\CoreFiles\create_png.php</b> on line <b>23</b><br /> 

Благодаря @cryptic и @user1711126

Решение -

шрифт файл на самом деле не хватает, мы должны поставить наш.ttf в папке, чтобы заставить этот код работать или установить путь, чтобы он работал.

ответ

4

Сохраните файл с изображениями, чтобы его устранить, и откройте его в текстовом редакторе, например, в блокноте или эквиваленте, и посмотрите, есть ли в нем какие-либо ошибки PHP. Происходит ошибка и вывод текста, который искажает файл. Сделайте это, и вы найдете, что такое ошибка.

+0

Я попытался ..пожалуйста, отредактируйте..а его не работает :( – swapnesh

+0

@swapnesh Нет, сохраните изображение на жесткий диск вашего компьютера, затем щелкните файл правой кнопкой мыши на своем жестком диске и откройте его в программе, например, в блокноте или текстовый редактор.Ищите текст, который указывает на ошибку PHP.Если вы не можете этого сделать, пожалуйста, сделайте файл доступным для нас доступ, чтобы мы могли проверить файл. Самый простой способ открыть файл как текст документ переименовывает его из create_png.php.png в create_png.php.txt и открывает его. –

+0

@ cryptic..awesome что-то более значимое lastly..but все еще мне нужна помощь ur .. пожалуйста, следуйте моему новому редактированию :) – swapnesh

2

Я серьезно сомневались ваш путь шрифта, пожалуйста, проверьте свой шрифт и файл в том же каталоге, и если это так, то изменить этот путь,

$font_path = './arial.ttf'; 

Edit (согласно Обсуждение в чате)

вы должны нуждаться файл TTF использовать imagettftext() функция поместить файл arial.ttf в папке, где ваш файл находиться

+0

Thx для ответа :) это действительно помогает нам разобраться в проблеме +1 для всех ур помочь :) – swapnesh

2

Я думаю @cryptic это право вам нужно использовать реальный путь для использования шрифта что-то вроде

$font_path = basename(dirname(__FILE__)).'/arial.ttf'; 

и убедитесь, что шрифт существует в каталоге.

Смежные вопросы