事例の紹介
PHP で、フォーム Any を渡すコードを記述したいとします。アップロードされた画像は自動的に 147x147px にサイズ変更されます。画像を拡大縮小してファイルサイズを削減したい。
コードの実装
このタスクを実行するには、PHP の ImageMagick または GD 関数を使用して画像を処理します。
GD を使用すると、次の関数を実現できます:
function resize_image($file, $w, $h, $crop=FALSE) { list($width, $height) = getimagesize($file); $r = $width / $height; if ($crop) { if ($width > $height) { $width = ceil($width-($width*abs($r-$w/$h))); } else { $height = ceil($height-($height*abs($r-$w/$h))); } $newwidth = $w; $newheight = $h; } else { if ($w/$h > $r) { $newwidth = $h*$r; $newheight = $h; } else { $newheight = $w/$r; $newwidth = $w; } } $src = imagecreatefromjpeg($file); $dst = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); return $dst; }
この関数は次のように呼び出すことができます:
$img = resize_image(‘/path/to/some/image.jpg’, 200, 200);
経験則として、画像のリサンプリングby GD これにより、特に生のデジタル カメラ画像をリサンプリングする場合に、ファイル サイズが大幅に削減されます。
以上がGD を使用して PHP でアップロードされた画像のサイズを 147x147px に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。