-
-
//源图的路径,可以是本地文件,也可以是远程图片
- $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);
-
复制代码
|