ホームページ >バックエンド開発 >PHPチュートリアル >PHP 画像処理: imagecopyresampled 関数を使用した画像スケーリングの例、_PHP チュートリアル
ウェブサイトの最適化はコードだけに焦点を当てることはできません。コンテンツもウェブサイトの最も重要なオブジェクトの 1 つであり、画像はウェブサイト上で最も重要なコンテンツです。画像を最適化するときに対処する最も重要なことは、Web サイトにアップロードされたすべての大きな画像を自動的に小さな画像 (Web ページに十分なサイズ) に拡大縮小して、ストレージ容量を N 倍に削減し、速度を向上させることです。ダウンロードと閲覧。したがって、画像を動的 Web サイトに拡大縮小するタスクは、多くの場合、ファイルのアップロードに関連付けられており、画像のアップロード中にサイズ変更される可能性があります。もちろん、場合によっては画像のスケーリングを個別に処理する必要があります。たとえば、画像リストを作成するときに、大きな画像を直接使用し、表示されるときにのみ小さな画像にズームすると、ダウンロードが遅くなるだけではありません。速度は向上しますが、ページの応答時間も短縮されます。通常、このようなアプリケーションに遭遇すると、写真をアップロードするときに、リストを作成するために特別に使用される小さなアイコンが写真に合わせて拡大縮小され、この小さなアイコンをクリックすると、大きな写真がダウンロードされて閲覧できます。
GD ライブラリを使用して画像のスケーリングを処理する場合、通常、imagecopyresize() と imagecopyresampled() の 2 つの関数のいずれかを使用します。imagecopyresampled() 関数を使用した後の品質は向上します。ここでは、imagecopyresampled() 関数の使用方法のみを紹介します。この関数のプロトタイプは次のようになります:
この機能は、ある画像から別の画像に正方形の領域をコピーし、ピクセル値を滑らかに補間することで、非常に高い解像度を維持しながら画像のサイズを縮小します。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。パラメータ dst_image と src_image は、それぞれターゲット イメージとソース イメージの識別子です。ソースとターゲットの幅と高さが異なる場合、画像はそれに応じて縮小および拡大され、座標は左上隅を参照します。この関数は、同じイメージ内でコピーするために使用できます (dst_image と src_image が同じ場合) が、領域が重なっている場合、結果は予測できません。次の例では、JPEG 画像形式を例として、画像スケーリング関数 summ() を記述します。コードは次のとおりです。