2019-09-29  2024-09-18    215 字  1 分钟
PHP

叙述使用以下代码修改图片大小或创建缩略图。

参数说明:

$filename:文件名。 $tmpname:文件路径,如上传中的临时目录。 $xmax:修改后最大宽度。 $ymax:修改后最大高度。

 1function resize_image($filename, $tmpname, $xmax, $ymax)
 2{
 3    $ext = explode(".", $filename);
 4    $ext = $ext[count($ext)-1];
 5 
 6    if($ext == "jpg" || $ext == "jpeg")
 7        $im = imagecreatefromjpeg($tmpname);
 8    elseif($ext == "png")
 9        $im = imagecreatefrompng($tmpname);
10    elseif($ext == "gif")
11        $im = imagecreatefromgif($tmpname);
12 
13    $x = imagesx($im);
14    $y = imagesy($im);
15 
16    if($x <= $xmax && $y <= $ymax)
17        return $im;
18 
19    if($x >= $y) {
20        $newx = $xmax;
21        $newy = $newx * $y / $x;
22    }
23    else {
24        $newy = $ymax;
25        $newx = $x / $y * $newy;
26    }
27 
28    $im2 = imagecreatetruecolor($newx, $newy);
29    imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
30    return $im2; 
31}

除另有声明外本博客文章均采用 知识共享 (Creative Commons) 署名 4.0 国际许可协议 进行许可转载请注明原作者与文章出处