| 
 //源图的路径,可以是本地文件,也可以是远程图片 
$src_path = '1.jpg'; 
//最终保存图片的宽 
$width = 160; 
//最终保存图片的高 
$height = 120; 
  
//源图对象 
$src_image = imagecreatefromstring(file_get_contents($src_path)); 
$src_width = imagesx($src_image); 
$src_height = imagesy($src_image); 
  
//生成等比例的缩略图 
$tmp_image_width = 0; 
$tmp_image_height = 0; 
if ($src_width / $src_height >= $width / $height) { 
    $tmp_image_width = $width; 
    $tmp_image_height = round($tmp_image_width * $src_height / $src_width); 
} else { 
    $tmp_image_height = $height; 
    $tmp_image_width = round($tmp_image_height * $src_width / $src_height); 
} 
  
$tmpImage = imagecreatetruecolor($tmp_image_width, $tmp_image_height); 
imagecopyresampled($tmpImage, $src_image, 0, 0, 0, 0, $tmp_image_width, $tmp_image_height, $src_width, $src_height); 
  
//添加白边 
$final_image = imagecreatetruecolor($width, $height); 
$color = imagecolorallocate($final_image, 255, 255, 255); 
imagefill($final_image, 0, 0, $color); 
  
$x = round(($width - $tmp_image_width) / 2); 
$y = round(($height - $tmp_image_height) / 2); 
  
imagecopy($final_image, $tmpImage, $x, $y, 0, 0, $tmp_image_width, $tmp_image_height); 
  
//输出图片 
header('Content-Type: image/jpeg'); 
imagejpeg($final_image); 
 |