PHP 实现等比压缩图片尺寸和大小实例代码
废话不多说了,直接给大家贴php等比压缩图片大小的相关代码了,具体代码如下所示:
<?php $im=imagecreatefromjpeg('D:phpplace.jpeg'); resizeImage($im,,,'xinde','.jpg'); functionresizeImage($im,$maxwidth,$maxheight,$name,$filetype) { $pic_width=imagesx($im); $pic_height=imagesy($im); echo"start-----------------"; if(($maxwidth&&$pic_width>$maxwidth)&&($maxheight&&$pic_height>$maxheight)) { if($maxwidth&&$pic_width>$maxwidth) { $widthratio=$maxwidth/$pic_width; $resizewidth_tag=true; } if($maxheight&&$pic_height>$maxheight) { $heightratio=$maxheight/$pic_height; $resizeheight_tag=true; } if($resizewidth_tag&&$resizeheight_tag) { if($widthratio<$heightratio) $ratio=$widthratio; else $ratio=$heightratio; } if($resizewidth_tag&&!$resizeheight_tag) $ratio=$widthratio; if($resizeheight_tag&&!$resizewidth_tag) $ratio=$heightratio; $newwidth=$pic_width*$ratio; $newheight=$pic_height*$ratio; if(function_exists("imagecopyresampled")) { $newim=imagecreatetruecolor($newwidth,$newheight); imagecopyresampled($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height); } else { $newim=imagecreate($newwidth,$newheight); imagecopyresized($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height); } $name=$name.$filetype; imagejpeg($newim,$name); imagedestroy($newim); } else { $name=$name.$filetype; imagejpeg($im,$name); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!