多くの場合、ユーザーがアップロードした写真は非常に大きいため、元の写真を直接返すとサーバーの帯域幅が大量に占有されます。このとき画像サイズを処理する必要があるのですが、PHPでは画像サイズをどのように処理するのでしょうか?この記事では、GD ライブラリを使用して画像サイズを処理する例を紹介します。
1. phpメソッドを使用して画像サイズを変更および保存します
---------------------------------- -
準備作業: 1. 元画像のリンクが必要です 2. GDライブラリのサポート
---------------------------- ---- -----
元の画像リンクを想定します: $url;
メソッド操作:
ステップ 1: $arrimg = getimagesize($url);
++++++++ +++ ++++++++++++++++++++++++++++++++++++++++
$arrimg :この形式は次のとおりです:
Array ( [0] => 350 [1] => 318 [2] => 2 [3] => width="350" height="318" [bits] => 8 [channels] => 3 [mime] => image/jpeg )
説明: $arrimg[2] の数字は、さまざまな画像タイプの数値インデックスを表します。 ビュー:
戻り結果の説明
インデックス 0 は画像の幅のピクセル値を示します
インデックス 1出てくるのは画像の高さのピクセル値です
インデックス 2 は画像のタイプを示し、数値を返します。1 = GIF、2 = JPG、3 = PNG、4 = SWF、5 = PSD、6 = BMP、7 = TIFF (インテル バイト オーダー)、8 = TIFF (モトローラ バイト オーダー)
、9 = JPC、10 = JP2、11 = JPX、12 = JB2、13 = SWC、14 = IFF、15 = WBMP、 16 = XBM
インデックス 3 は、HTML の
インデックス ビットは、画像の各色のビット数を与え、バイナリ形式を与えます
インデックス チャネルは、画像のチャネル値。RGB 画像のデフォルトは 3 です。
インデックス mime は、画像の MIME 情報を提供します。この情報は、次のような HTTP コンテンツ タイプ ヘッダー情報を送信するために使用できます。
header("Content-type: image/jpeg");++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++ステップ2: 幅: $arrimg[0]、長さ: $arrimg[1]、およびに基づいて比例処理を実行します。必要な情報を取得します 最終的な画像サイズは比率に従って計算されますここでは、取得する画像のサイズを次のように一時的に設定します: $newheight $newwidth++++++++++++++ ++++ ++++++++++++++++++++++++++++++++++++ステップ 3: $thumb = imagecreatetruecolor ($newwidth, $newheight); 説明: imagecreatetruecolor() は、サイズ $newwidth と $newheight の黒い画像を表す画像識別子を返します++++++++++++++++++ +++++++++++++++++++++++++++++++++++ステップ 4: $source = imagecreatefromjpeg($ url); 説明: imagecreatefromjpeg() は、指定されたファイル名から取得した画像を表す画像識別子を返しますswitch($arrimg[2]){ //支持jpg case 2: imagejpeg($thumb,'test.jpg'); break; //支持png case 3: imagejpeg($thumb,'test.jpg'); break; default: echo "<script>alert('带开发其他类型');</script>"; break; }
関連推奨事項:リモート画像取得を実現するための
以上がPHP処理画像サイズの共有例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。