Home  >  Article  >  类库下载  >  PHP study notes: Scale images proportionally

PHP study notes: Scale images proportionally

高洛峰
高洛峰Original
2016-10-10 09:55:121121browse

Go directly to the code. The function imgzip($src,$newwid,$newhei) brings in the original image, the width required for scaling, and the length of scaling. The codes are all noted, if you don’t understand, you can leave a message haha

<?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);


?>

Effect

Before compression

PHP study notes: Scale images proportionally

After compression

PHP study notes: Scale images proportionally

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Related articles

See more