新建index.php,然后指定文件图片名称
/**
* 图片等比缩放
*
* @param $src_file
* @param $des_w
* @param $des_h
*/
function thrumb($src_file, $des_w, $des_h) {
list($width, $height, $imgTypeNumber) = getimagesize($src_file);
//处理图片创建函数和图片输出函数
switch ($imgTypeNumber) {
case 1://gif
$imageCreateFrom = 'imagecreatefromgif';
$imageOut = 'imagegif';
$type = 'gif';
break;
case 2://jpg
$imageCreateFrom = 'imagecreatefromjpeg';
$imageOut = 'imagejpeg';
$type = 'jpg';
break;
case 3://png
$imageCreateFrom = 'imagecreatefrompng';
$imageOut = 'imagepng';
$type = 'png';
break;
case 4: //bmp
$imageCreateFrom = 'imagecreatefrombmp';
$imageOut = 'imagewbmp';
$type = 'bmp';
break;
}
//计算缩放宽高
if (($width/$height) >= ($des_w / $des_h)){
$des_wid = $des_w;
$des_hei = intval($des_w * $height / $width);
$mid_x = 0;
$mid_y = intval(($des_h - $des_hei) / 2);
} else {
$des_wid = intval($des_h * $width / $height);
$des_hei = $des_h;
$mid_x = intval(($des_w - $des_wid) / 2);
$mid_y = 0;
}
$newImg = imagecreatetruecolor($des_w, $des_h);
$white = imagecolorallocate($newImg, 255,255, 255);
imagefill($newImg, 0, 0, $white);
$img = $imageCreateFrom($src_file);
$imgName = strtotime(date('YmdHis'));
//缩放
imagecopyresampled($newImg, $img, $mid_x, $mid_y, 0, 0, $des_wid, $des_hei, $width, $height);
$imgSrc = $imgName . '.' . $type;
$imageOut($newImg, $imgSrc);
imagedestroy($img);
imagedestroy($newImg);
}
thrumb("images/A1L2GBULgcL._AC_UL1500_-787x1024.jpg", 500, 500);
缩放前的图片:
代码运行后缩放的图片: