[PHP]php图片压缩类

<?php
/**
*@param $imgname 文件路径
*@param $seek 缩略图重命名
*@param $width 缩略图宽度
*@param $height 缩略图高度
*@param $slt_img_url 缩略图保存路径
*
*/
class minimg{
public function slt($imgname,$seek,$width,$height,$slt_img_url){
// 获取新尺寸
list($width_orig, $height_orig) = $imgma = getimagesize($imgname);

$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
@$height = $width/$ratio_orig;
}

// 重新取样
@$image_p = imagecreatetruecolor($width, $height);
if($imgma[2] == 2){
$image = imagecreatefromjpeg($imgname);
if($image){

$imgurl = $slt_img_url."slt_"."$seek.jpg";
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, $imgurl, 100);
return $imgurl;
}

}
if($imgma[2] == 3){
$image = imagecreatefrompng($imgname);
if ($image) {

$imgurl = $slt_img_url."slt_"."$seek.png";
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagepng($image_p, $imgurl, 9);
return $imgurl;

}
}
if($imgma[2] == 4){
$image = imagecreatefromgif($imgname);
if ($image) {

$imgurl = $slt_img_url."slt_"."$seek.gif";
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagepng($image_p, $imgurl, 9);
return $imgurl;
}
}
}
}
set_time_limit(0);

调用方法:

$minimg = new minimg();
$minimg_url = $minimg->slt('图片路径','缩略图命名','最大宽度','最大高度','储存路径');//默认等比缩放

猜你喜欢

转载自www.cnblogs.com/shinrin/p/11621951.html