ホームページ  >  記事  >  バックエンド開発  >  PHP処理画像サイズの共有例

PHP処理画像サイズの共有例

*文
*文オリジナル
2017-12-23 14:30:121431ブラウズ

多くの場合、ユーザーがアップロードした写真は非常に大きいため、元の写真を直接返すとサーバーの帯域幅が大量に占有されます。このとき画像サイズを処理する必要があるのですが、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() は、指定されたファイル名から取得した画像を表す画像識別子を返します


++++++++++++++++++ ++++++ ++++++++++++++++++++++++++++

ステップ 5: ImageCopyResampled($thumb,$source ,0,0,0,0, $newwidth,$newheight,$arrimg[0],$arrimg[1]);

imagecopyresampled -- 画像のコピー部分をリサンプルし、サイズを変更します。

++++++++++++++

ステップ 6:

タイプを決定して保存する

switch($arrimg[2]){
//支持jpg
case  2:
imagejpeg($thumb,'test.jpg');
break;
//支持png
case 3:
imagejpeg($thumb,'test.jpg');
break;
default:
echo "<script>alert(&#39;带开发其他类型&#39;);</script>";
break;
}

関連推奨事項:リモート画像取得を実現するための

php 効率的な方法サイズとサイズの

php画像処理画像背景、キャンバス操作

php画像を生成するGDライブラリのいくつかの関数のまとめ

以上がPHP処理画像サイズの共有例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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