如何使用php等比例缩放图片
程序员文章站
2024-03-01 21:29:40
本文介绍了php实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放...
本文介绍了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['mime']); imagejpeg($images2); //保存图片 到新文件 imagejpeg($images2, 'new.jpg', 100); //10代码输出图片的质量 0-100 100质量最高 //销毁 imagedestroy($images2); } imgzip($src,$newwid,$newhei); ?>
希望本文所述对大家对php程序设计有所帮助。