왜곡 없이 PHP에서 축소판을 생성하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "reSizeImg($imgSrc, $resize_width...) {...}" 함수를 사용하여 동일한 비율로 이미지 축소판을 생성합니다. .
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
php 왜곡 없이 축소판을 생성하는 방법은 무엇입니까?
PHP 기능을 사용하여 왜곡 없이 동일한 비율로 이미지 썸네일을 생성하는 코드
//等比例生成图片缩略图不失真 /** * 生成缩略图 * $imgSrc 图片源路径 * $resize_width 图片宽度 * $resize_height 图片高度 * $dstimg 缩略图路径 * $isCut 是否剪切图片 */ function reSizeImg($imgSrc, $resize_width, $resize_height, $dstimg, $isCut = false) { //图片的类型 $type = substr(strrchr($imgSrc, "."), 1); //初始化图象 if ($type == "jpg" || $type == "jpeg") { $im = imagecreatefromjpeg($imgSrc); } if ($type == "gif") { $im = imagecreatefromgif($imgSrc); } if ($type == "png") { $im = imagecreatefrompng($imgSrc); } $width = imagesx($im); $height = imagesy($im); //生成图象 //改变后的图象的比例 $resize_ratio = ($resize_width) / ($resize_height); //实际图象的比例 $ratio = ($width) / ($height); if (($isCut) == 1) { if ($ratio >= $resize_ratio) { //高度优先 $newimg = imagecreatetruecolor($resize_width, $resize_height); imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height); ImageJpeg($newimg, $dstimg); } if ($ratio < $resize_ratio) { //宽度优先 $newimg = imagecreatetruecolor($resize_width, $resize_height); imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio)); ImageJpeg($newimg, $dstimg); } } else { if ($ratio >= $resize_ratio) { $newimg = imagecreatetruecolor($resize_width, ($resize_width) / $ratio); imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height); ImageJpeg($newimg, $dstimg); } if ($ratio < $resize_ratio) { $newimg = imagecreatetruecolor(($resize_height) * $ratio, $resize_height); imagecopyresampled($newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height); ImageJpeg($newimg, $dstimg); } } ImageDestroy($im); } $result = reSizeImg('images/15M.jpg', 1280, 1280,'thumb/xiao15.jpg');
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 왜곡 없이 PHP에서 썸네일을 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!