2012-06-19 2 views
1

Я пытаюсь создать коллаж изображений с использованием библиотеки GD, однако все, что я когда-либо отображал на своем экране, является сломанной ссылкой на изображение.PHP GD Library, создающая проблемы с коллажем

Исходные файлы im получены с URL-адреса facebook - я проверил ссылки на изображения, и все они действительны.

Моего код петля ниже

$pos_counter=0; 
     $new_collage = imagecreatetruecolor(851,315); // Create our canvas 
     $pos = array(array(0,0), array(206,0), array(412,0), array(618,0)); 
     $width = 206; 
     foreach($collage_images as $image) 
     { 
      $current_image =  imagecreatefromstring(file_get_contents($image)); 
      imagecopymerge($new_collage, $current_image,  $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206); 
      imagedestroy($current_image); 
      $pos_counter++; 
     } 
     header("Content-type: image/jpeg"); 
     imagejpeg($new_collage); 

Это просто возвращает ссылку сломанных изображений.

Я начал отладки мой код:

, например Перебор просто пытается вывести каждое изображение по отдельности также возвращает сломанную ссылку на изображение:

foreach($collage_images as $image) 
     { 
      $current_image =imagecreatefromstring(file_get_contents($image)); 
      header("Content-type: image/jpeg"); 
      imagejpeg($current_image); 

     } 

Я также попытался вторя $ current_image однако я был возвращен только с идентификатором ресурса, который показывает мне, что imagecreatefromstring работает, поскольку он не возвращает false?

+1

* «все, что я когда-нибудь появится на моем экране сломанный ссылка на изображение» * - Юп, что-то пошло не так. Как насчет того, чтобы узнать, что пошло не так? Я имею в виду, что это может означать много, включая, что сеть больше не работает, или браузер не может отображать такой формат изображения. Поэтому, пожалуйста, немного просверлите это. Вы получите от этого больше, чем получить ответы кстати. – hakre

+0

@hakre Thats, что я пытался сделать - изображения из facebook api все в формате jepg, что и я создаю. Изображения, которые я получаю для коллажа, являются действительными URL-адресами, я рад опубликовать что-нибудь здесь, что может помочь людям помочь мне. Я действительно не знаю, куда еще обратиться, к сожалению. извините и спасибо –

+1

Вы регистрируете ошибки? Для разработки включите максимально возможное значение (запишите все, в том числе STRICT NOTICES и WARNINGS), также вам нужно выполнить свои собственные проверки ошибок. Правильно ли было создано изображение из строки? Проверьте возвращаемое значение! Сообщайте об этих ошибках и своих собственных, сделайте свою программу связанной с такими случаями ошибки. – hakre

ответ

1

@hakre рекомендуется включать отчет об ошибках. сделал это и обнаружил, что я не пропускаю непрозрачность изображения.

imagecopymerge должен был

imagecopymerge($new_collage, $current_image, $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206,100); 
Смежные вопросы