2

外部関数を使って画像を作成します。

画像の生データを返す関数:

function create_image()
{
    ...
    ImageJPEG($myimg,NULL,85);
    $imgdata = ob_get_contents(); 
    ob_end_clean();          
    return $imgdata;
}

画像がどのように見えるかを示すはずの私のスクリプト:

$rawdata = create_image();
<img src="data:image/jpeg;base64,".base64_encode($rawdata)."" />

<img>これで、タグ内の画像が完成していません。品質を50(とImageJPEG($myimg,NULL,50);)にすると、画像は完全に表示されます。rawdataをキャッチしてディスクに書き込むと、イメージはすべての品質で完成します。

$rawdata = create_image();
$im = imagecreatefromstring($rawdata);
ImageJPEG($im,"./test.jpg",90);

タグだけでは<img>機能しません。

なぜそれが機能しないのか誰かが知っていますか?

4

1 に答える 1

0

私は個人的にこの手法を使用したことはありません。通常、image.jpg.php(たとえば)を画像として使用する単純な画像タグを使用します。このために、私header("Content-type: image/jpeg")は画像ファイルにを入れて、単にデータをエコーし​​ます。

私は実際に生データでそれを試したことがありませんが、これは特にメンテナンス(および互換性)のために好ましいと思います。

于 2012-07-04T08:01:14.530 に答える