>  기사  >  백엔드 개발  >  PHP에서 이미지의 비례적인 크기 조정을 구현하는 방법

PHP에서 이미지의 비례적인 크기 조정을 구현하는 방법

怪我咯
怪我咯원래의
2017-07-10 11:50:382327검색

PHP를 사용하여 이미지의 크기를 조정하는 방법을 주로 소개하고, 원본 이미지의 필요한 너비와 길이를 지정할 수 있습니다.

이 글에서는 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[1]);
//销毁原始图片
 imagedestroy($image);
//直接输出图片文件

 header("Content-type: ".$imgInfo[&#39;mime&#39;]);
 imagejpeg($images2);
//保存图片 到新文件
 imagejpeg($images2, &#39;new.jpg&#39;, 100); //10代码输出图片的质量 0-100 100质量最高
//销毁
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>

다음은 PHP를 사용한 이미지 크기 조정용 코드입니다. 친구는 이를 이미지
upload

통계 디렉토리에 있어야 하는 새 파일 index.php에 통합할 수 있습니다. 사진은 q.jpg입니다. (소스코드에 따라 사진 이름은 변경될 수 있습니다)

소스코드는 다음과 같습니다.

<?php
$filename="q.jpg";
$per=0.3;
list($width, $height)=getimagesize($filename);
$n_w=$width*$per;
$n_h=$height*$per;
$new=imagecreatetruecolor($n_w, $n_h);
$img=imagecreatefromjpeg($filename);
//拷贝部分图像并调整
imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
//图像输出新图片、另存为
imagejpeg($new, "q1.jpg");
imagedestroy($new);
imagedestroy($img);
?>

브라우저로 실행하면 index와 같은 레벨의 디렉터리에 q1.jpg가 있을 겁니다. 이 그림은 등입니다. 크기가 조정된 이미지의 경로는 소스 코드에서 직접 변경할 수 있으며, 자신의 프로젝트에 넣거나 메소드를 작성할 수도 있습니다

위 내용은 PHP에서 이미지의 비례적인 크기 조정을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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