叙述使用以下代码修改图片大小或创建缩略图。
参数说明:
$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 国际许可协议 进行许可。转载请注明原作者与文章出处。