English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP에서 비례적으로 이미지를 축소하는 설명 및 예제 코드

직접 코드를 올려보겠습니다. imgzip($src,$newwid,$newhei) 함수는 원본 이미지, 조정할 너비, 조정할 높이를 입력합니다. 코드에 설명이 있으므로 이해가 어려우시면 댓글을 달아주세요. 하하

<?php 
//이미지를 압축하고 缩略图을 생성합니다
$src= "xiezheng.jpg";
$newwid=640;
$newhei= 480;
function imgzip($src,$newwid,$newhei){
 $imgInfo = getimagesize($src);
 $imgType = image_type_to_extension($imgInfo[2], false);
 $fun = "imagecreatefrom{$imgType}";
//이미지를 선언하고 이미지를 열고 메모리에서 처리합니다
 $image = $fun($src);
//方便配置长度宽度、高度,设置框为变量wid,高度为hei
 $wid=$imgInfo[0];
 $hei=$imgInfo[1
//길이와 너비를 판단하여 비율 조정을 쉽게 합니다, 규격은500, 320
 if($wid>$hei){
  $wid=$newwid;
  $hei=$newwid/($wid/$hei);
 }else {
  $wid = $newhei * ($wid / $hei);
  $hei = $newhei;
 }
//메모리에 이미지를 만듭니다
 $images2 = imagecreatetruecolor($newwid, $newhei); //빌드500*320의 이미지
//원본 이미지를 새 이미지에 복사
//imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
 imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[0]);
//원본 이미지 소멸
 imagedestroy($image);
//이미지 파일을 직접 출력
 header("Content-type: ".$imgInfo[‘mime‘]);
 imagejpeg($images2);
//이미지를 새 파일에 저장
 imagejpeg($images2, ‘new.jpg‘, 100); //100 코드 출력 이미지 품질-100 100 최고 품질
//소멸
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>

 효과

압축 전

압축 후

이상은 PHP 등비율 조정 이미지의 자료 정리입니다. 이후 추가 자료를 계속 보충하겠습니다. 감사합니다.

당신이 좋아할 것 같은