1

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 のみが返されましたか?

4

1 に答える 1

1

@hakre は、エラー報告を有効にすることをお勧めしました。そうしましたが、画像の不透明度を渡していないことがわかりました。

imagecopymerge は

imagecopymerge($new_collage, $current_image, $pos[$pos_counter][0], $pos[$pos_counter][1],0,0,206,206,100);
于 2012-06-19T13:53:55.030 に答える