ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで画像のサイズを変更する方法

PHP_PHP チュートリアルで画像のサイズを変更する方法

WBOY
WBOYオリジナル
2016-07-13 10:33:011247ブラウズ

画像のサイズの変更は非常に一般的な機能要件です。PHP で画像のサイズを変更する方法を勉強してみましょう。まずは私が書いた関数を紹介します。

リーリー

画像コピー再サンプリング

imagecopyresampled -- 画像の一部を再サンプリングしてサイズ変更します。

int imagecopyresampled (リソース dst_im, リソース src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)

imagecopyresampled() は、ある画像から別の画像に正方形の領域をコピーし、ピクセル値をスムーズに補間することで、とりわけ、優れた鮮明さを維持しながら画像のサイズを縮小します。 dst_im と src_im は、それぞれターゲット イメージとソース イメージの識別子です。ソースとデスティネーションの幅と高さが異なる場合、画像はそれに応じて縮小または伸縮します。座標は左上隅を指します。この関数は、同じイメージ内の領域をコピーするために使用できます (dst_im と src_im が同じ場合) が、領域が重なっている場合の結果は予測できません。

注: パレット画像の制限 (255+1 色) により問題が発生します。画像のリサンプリングまたはフィルタリングには 255 を超える色が必要になることが多く、新しいリサンプリングされたピクセルとその色の計算には近似値が使用されます。パレット画像に新しい色を割り当てようとするときに、それが失敗した場合は、(理論的に) 計算された最も近い色が選択されます。これは必ずしも視覚的に最も近い色であるとは限りません。これにより、空白 (または視覚的に空白) の画像など、奇妙な結果が生じる可能性があります。この問題を回避するには、imagecreatetruecolor() で作成されたものなど、トゥルーカラー イメージをターゲット イメージとして使用します。

注: imagecopyresampled() には GD 2.0.l 以降が必要です。

簡単な例:

リーリー

例 2:

リーリー

画像サイズを変更するには2つの方法があります:

  • ImageCopyResize() 関数はすべての GD バージョンで有効ですが、画像をスケーリングするためのアルゴリズムは荒いです。
  • ImageCopyResamples() のピクセル補間アルゴリズムによって取得された画像のエッジは比較的滑らかです。 (ただし、この関数は ImageCopyResize() よりも遅くなります)。

2 つの関数のパラメータは次のように同じです:

リーリー

例:

れーれー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752586.html技術記事画像のサイズを変更することは非常に一般的な機能要件です。PHP で画像のサイズを変更する方法を勉強してみましょう。まずは私が書いた関数を紹介します。 ?php$imgsrc = "http://www....
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。