ホームページ >バックエンド開発 >PHPの問題 >PHPで歪みのない画像圧縮を実現する方法

PHPで歪みのない画像圧縮を実現する方法

藏色散人
藏色散人オリジナル
2020-08-21 09:51:504251ブラウズ

php 歪みのない画像圧縮を実現する方法: 最初に画像圧縮率を設定し、次に「getimagesize」関数を通じて元の画像サイズを取得し、最後に「imagecopyresampled」関数を使用して画像を圧縮します。

PHPで歪みのない画像圧縮を実現する方法

推奨: 「PHP ビデオ チュートリアル

PHP は画像の可逆圧縮の問題を解決します

コードは次のとおりです:

header("Content-type: image/jpeg");
$file = "111.jpg";
$percent = 1.5;  //图片压缩比
list($width, $height) = getimagesize($file); //获取原图尺寸
//缩放尺寸
$newwidth = $width * $percent;
$newheight = $height * $percent;
$src_im = imagecreatefromjpeg($file);
$dst_im = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($dst_im); //输出压缩后的图片
imagedestroy($dst_im);
imagedestroy($src_im);

PHP の imagecopyresize を使用して大きな画像を小さな画像に縮小すると、画像が非常にぼやけてしまうことがわかりました。明瞭さを保つには、imagecopyresize の代わりに imagecopyresampled を使用する方が良いかもしれません。

注: 圧縮損失は避けられません。はっきりと見えるかどうかは、実際にはこの範囲を受け入れるかどうかの問題です。たとえば、画像上の元の画像のいくつかの点は 2px ですが、それを圧縮します。 5回を超えるとポイントは消滅します。

rree

以上がPHPで歪みのない画像圧縮を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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