自动压缩
<?php makeThumb(100, 50); //参数1:压缩的范围宽度 //参数2:压缩的范围的高度 function makeThumb($area_w,$area_h) { //参数2:原图资源(将该图片资源压缩之后,再保存到目的地画布中) $src_image = imagecreatefrompng('bs.png'); //参数3、4:目的地(画布的起点坐标) $dst_x = 0; $dst_y = 0; //参数5、6:原图的(起点坐标) $src_x = 0; $src_y = 0; //参数9、10:原图的宽度、高度 //通过imagesx()函数获得图像资源的宽度、imagesy()获得图像资源的高度 $src_w = imagesx($src_image); $src_h = imagesy($src_image); //参数7、8:目的地(画布的宽度、高度) //计算压缩的比例 if($src_w / $area_w >= $src_h / $area_h){ $scale = $src_w / $area_w; }else{ $scale = $src_h / $area_h; } $dst_w = (int)$src_w / $scale; $dst_h = (int)$src_h / $scale; //参数1:目的地图像资源(通常指的是画布资源) $dst_image = imagecreatetruecolor($dst_w, $dst_h); $color = imagecolorallocate($dst_image, 22, 139, 0); imagefill($dst_image, 0, 0, $color); imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h); //可以保存、也可以输出到浏览器 //1. 直接在浏览器输出 header("Content-Type:image/png"); imagepng($dst_image); } //2. 保存到本地,只需要给imagepng()函数增加第二个参数(保存地址)即可 //imagepng($dst_image,'./thumb_bs.png');