0

結合する2つの画像を選択するようにユーザーに依頼するindex.phpがあります.選択はチェックボックスを使用して行われます。次に、ユーザーがボタンをクリックして、選択した画像パスを MergeImages.php に渡します。マージ image.php は、2 つのアイコンを他の処理と結合し、1 つの画像を作成します。これを index.php のすぐ下に表示する必要があります。画像のリスト。

これがそのIndex.phpの私のコードです

var Images;
Images = listOfImages.join("|");
$.ajax({
url: 'MergeImages.php',
type: 'POST',
data: {listOfImages : Images},
success: function(data) {
 alert("success");
 $("#output_image").attr("src","MergeImages.php" );
 },
 error: function(jqXHR, textStatus, errorThrown) {
 console.log(textStatus, errorThrown);
 }
 });
 }

MergeImages.php

imagecopy($dest, $src, 0,0,0,0,$swidth,$sheight); 

header('Content-Type: image/png');
imagepng($dest);

画像が表示されないのですが、何が問題なのですか?

4

2 に答える 2

1

に POST リクエストを送信しMergeImages.phpますが、成功した場合は返されたデータを使用しません。代わりに、 imagesrcMergeImages.phpに設定して呼び出しますが、PST 引数はありません (引数のない通常の GET 要求です)。

data成功ハンドラで使用する必要があります。これは、POST リクエストからの応答がある場所MergeImages.phpです。これを行うには、この質問に対する受け入れられた回答を参照してください。

可能であれば、GET を POST に置き換えると、作業MergeImages.phpが簡単になる可能性があります。その場合、AJAX は必要ありませんが、画像のsrc属性を に設定するだけです"MergeImages.php?icon1=bla&icon2=bla"

于 2013-05-14T22:33:14.580 に答える
0

リクエストが行われるたびに新しい画像を生成しない限り、画像を返すことはお勧めできません。

キャッシュ可能性を向上させるには、サーバー上の画像の URL にリダイレクトされた応答を返す必要があります。

于 2013-05-14T22:37:13.640 に答える