ホームページ >バックエンド開発 >PHPチュートリアル >GD を使用して PHP でアップロードされた画像のサイズを 147x147px に変更するにはどうすればよいですか?

GD を使用して PHP でアップロードされた画像のサイズを 147x147px に変更するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-17 05:03:25941ブラウズ

How Can I Resize Uploaded Images to 147x147px in PHP Using GD?

PHP での画像のスケーリング

事例の紹介

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。