>백엔드 개발 >PHP 문제 >PHP에서 왜곡 없이 이미지 압축을 달성하는 방법

PHP에서 왜곡 없이 이미지 압축을 달성하는 방법

藏色散人
藏色散人원래의
2020-08-21 09:51:504259검색

왜곡 없는 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의 imagecopyreised를 사용하여 큰 이미지를 줄일 수 있다는 것을 발견했습니다. 작은 이미지로 변경되면 이미지가 매우 흐릿해집니다. 이때 선명도를 높이려면 imagecopyresize 대신 imagecopyresampled를 사용하는 것이 더 나을 수 있습니다.

참고: 압축 손실은 불가피합니다. 실제로 볼 수 있는지 여부는 이 범위를 허용할지 여부에 대한 질문입니다. 예를 들어 이미지의 원본 이미지의 일부 지점은 2px이지만 5번 압축하면 됩니다. , 그러면 이 포인트는 사라집니다.

아아아아

위 내용은 PHP에서 왜곡 없이 이미지 압축을 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.