2

縮小した画像を保存せずに、縮小してサイズ変更したサーバーに画像を表示する方法はありますか?画像が500x500250KBの場合のように、ユーザーのブラウザで50x5045kbを表示したいと思います。

方法がない場合、一時的に作成してフォルダに移動し、しばらくしてから削除するにはどうすればよいですか?

4

3 に答える 3

3
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($url);
$thumbImage = imagecreatetruecolor(50, 50);
imagecopyresized($thumbImage, $image, 0, 0, 0, 0, 50, 50, 500, 500);
imagejpeg($thumbImage,"",85);
imagedestroy($image);
imagedestroy($thumbImage);

ただし、サーバーの負荷を下げるために、何らかの方法で結果をキャッシュする必要があります。

于 2011-01-28T01:28:04.173 に答える
0

アップロード時に大きな画像のサイズを縮小するのではなく、小さなバージョンを保存して元のバージョンを保持することを強くお勧めします。S3のようなクラウドホスティングを使用すると、これを安価に行うことができます。

最も論理的なプロセスは、費用のかかる操作(写真のスケーリング)を複数回ではなく1回実行することです。

他の質問に答えるには、GDまたはimagemagickを使用して画像を縮小できます。これを行う方法については、何百ものチュートリアルがあります。このルートをたどりたいのなら、私はグーグルでチュートリアルをしてみます。

于 2011-01-28T01:27:09.340 に答える
-1

HTML画像タグの属性heightと属性を設定するだけのようです。width

<img src='blah' height=50 width=50 />

パーセンテージも使用できます。

CSSを使用すると、もう少し制御が可能になり、すべての画像(または特定のクラスのすべての画像)に適用できます。それを使用すると、特定することができmax-heightmax-width小さい画像には影響しません。以下は、クラスのあるすべての画像に適用されますresizedimages

.resizedimages {max-height: 400px; max-width: 400px}

サイズ変更された画像を保存することに興味がない場合、これは完全にクライアント側の問題のように聞こえます。PHPはそれとは何の関係もありません(おそらく必要なHTMLをレンダリングすることを除いて)

注:ユーザーが右クリックして画像を保存すると、250kB全体になります。これらは純粋に表示の問題です。この側面があなたにとって重要であるならば、私は縮小されたコピーを保存する以外の方法を知りません。

これらはおそらく最高のリソースを借りていませんが、グーグルのトップ近くに出てきたものはほんのわずかです。

http://www.w3schools.com/tags/tag_img.asp
http://www.fastechws.com/tricks/web/image-max-width-height.php

于 2011-01-28T01:26:52.577 に答える