失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php 生成等比例缩略图 php生成缩略图填充白边(等比缩略图方案)

php 生成等比例缩略图 php生成缩略图填充白边(等比缩略图方案)

时间:2019-02-06 11:38:45

相关推荐

php 生成等比例缩略图 php生成缩略图填充白边(等比缩略图方案)

//源图的路径,可以是本地文件,也可以是远程图片

$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);

如果觉得《php 生成等比例缩略图 php生成缩略图填充白边(等比缩略图方案)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。