0

ユーザーが特定のブラウザー、OS、または画面サイズ(モバイルユーザーとデスクトップユーザーを区別するために使用)を使用しているときに、その場でjpegの画像サイズ(および品質)を小さくしたいと思います。どうすればよいですか?画像を返すスクリプトを呼び出すと思います。

<img src="<?resize.php?file=test.jpg&quality=75?>" 

そして、私のresize.phpでは、test.jpgをimagejpeg()の$ imageリソースに変換する必要があります。これを使用して、画質を設定できます。どうすれば変換できますか?また

echo imagejpeg($img,NULL,$quality);

上記のhtmlスニペットを使用して画像を表示しますか?

4

2 に答える 2

2

サイズ変更ルーチンを作成し、Web アクセス可能なユーザーを保存する必要があります。また、最初にサイズを変更したときにファイルをキャッシュするので、誰かがページをロードするたびにサイズを変更する必要はありません。

于 2012-12-10T00:33:17.910 に答える
1

2 つの反論:

  • img src画像自体ではなく、URL が必要です (実際には、データ URL である可能性がありますが、特に圧縮しようとする場合は非常に間違っています)。

  • ヒットごとに画像を再レンダリングする理由 それは恐ろしく遅く、非効率的です。それらを事前にレンダリングし、ユーザーの仕様に従ってバリアントの 1 つを選択するだけです。

その場でサイズを変更したい場合resize.phpは、指定されたサイズの画像を出力するスクリプトなどを用意してください。スクリプトは正しいContent-Typeヘッダーを設定する必要がありimage/jpgます (例では )。次に、これをタグとして使用します。

<img src="resize.php?file=test.jpg&quality=75">

(注: PHP タグはありません。これは単なるリンクです!)

于 2012-12-10T00:28:45.660 に答える