使用方法:
$img = new iamge;
$img->resize('dstimg.jpg', 'srcimg.jpg', 300, 400);
说明:这个是按照比例缩放,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高
$img->thumb('dstimg.jpg', 'scrimg.jpg', 300, 300);
说明:这个是按照比例缩略图,比如常用在头像缩略图的时候,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高
这个是针对gd库才这样麻烦的,如果采用imagick的话,就只需要两个函数就实现上面的功能,去查下文档就找到了。
class image{
public function resize($dstimg, $srcimg, $dstw, $dsth){
list($srcw, $srch) = getimagesize($srcimg);
$scale = min($dstw/$srcw, $dsth/$srch);
$neww = round($srcw * $scale);
$newh = round($srch * $scale);
$newimg = imagecreatetruecolor($neww, $newh);
$srcimg = imagecreatefromjpeg($srcimg);
imagecopyresampled($newimg, $srcimg, 0, 0, 0, 0, $neww, $newh, $srcw, $srch);
imagejpeg($newimg, $dstimg);
}
public function thumb($dstimg, $srcimg, $dstw, $dsth){
list($srcw, $srch) = getimagesize($srcimg);
$scale = max($dstw/$srcw, $dsth/$srch);
$neww = round($dstw/$scale);
$newh = round($dsth/$scale);
$x = ($srcw - $neww)/2;
$y = ($srch - $newh)/2;
$newimg = imagecreatetruecolor($dstw, $dsth);
$srcimg = imagecreatefromjpeg($srcimg);
imagecopyresampled($newimg, $srcimg, 0, 0, $x, $y, $dstw, $dsth, $neww, $newh);
imagejpeg($newimg, $dstimg);
}
}
function createfromtype($type, $srcimg){
$function = imagecreatefrom$type;
return $function($srcimg);
}
//为了解决不同图片格式的问题
http://www.bkjia.com/phpjc/372434.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/372434.htmltecharticle使用方法: $img = new iamge; $img-resize('dstimg.jpg', 'srcimg.jpg', 300, 400); 说明:这个是按照比例缩放,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面...