GD ライブラリを使用して画像のコラージュを作成しようとしていますが、画面に表示されるのは壊れた画像リンクだけです。
im ソース ファイルは Facebook の URL から取得されます。画像へのリンクを確認したところ、すべて有効です。
私のループコードは以下です
$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 をエコーしようとしましたが、false を返さないため、imagecreatefromstring が機能していることを示すリソース ID のみが返されましたか?