如何使用php等比例缩放图片
本文介绍了PHP实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。
<?php //压缩图片缩略图 $src="xiezheng.jpg"; $newwid=640; $newhei=480; functionimgzip($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-100100质量最高 //销毁 imagedestroy($images2); } imgzip($src,$newwid,$newhei); ?>
希望本文所述对大家对PHP程序设计有所帮助。