您好,欢迎访问一九零五行业门户网

php等比例压缩图片(jpg,jif,png图片等比例压缩)

?php/*+-----------------------------------------------------------------------+*//*+ jpg,jif,png 图片 等 比例 压缩 +*//*+-----------------------------------------------------------------------+*/class rarimag{/** * 得到等 比例 缩放的长宽 *
$maxwidth) {   $maxwidth = $maxwidth;   if($srcheight > $maxheight) {    $maxheight = ($srcheight/$srcheight) * $maxwidth;   } else {     $maxheight = $srcheight;   }   return array('width' => $maxwidth,'height' => $maxheight);  }     if($srcheight > $maxheight) {   $maxheight = $maxheight;   if($srcwidth > $maxwidth) {     $maxwidth = ($srcwidth/$srcheight) * $maxheight;   } else {     $maxwidth = $srcwidth;   }   return array('width' => $srcwidth,'height' => $maxheight);  }     return array('width' => $srcwidth,'height' => $srcheight);
 } /**  * 等比例生成缩略图  *  * @param  string  $srcfile  原始文件路径  * @param  string  $dstfile  目标文件路径  * @param  integer  $maxwidth  生成的目标文件的最大宽度  * @param  integer  $maxheight  生成的目标文件的最大高度  * @return  boolean  生成成功则返回true,否则返回false  */ function makethumb($srcfile, $dstfile, $maxwidth, $maxheight) {  if ($size = getimagesize($srcfile)) {   $srcwidth = $size[0];   $srcheight = $size[1];   $mime = $size['mime'];
   switch ($mime) {    case 'image/jpeg';     $isjpeg = true;     break;    case 'image/gif';     $isgif = true;     break;    case 'image/png';     $ispng = true;     break;    default:     return false;     break;   }   //header(content-type:$mime);   $arr = $this->getnewsize($maxwidth, $maxheight, $srcwidth, $srcheight);   $thumbwidth = $arr['width'];   $thumbheight = $arr['height'];   if (isset($isjpeg) && $isjpeg) {    $dstthumbpic = imagecreatetruecolor($thumbwidth, $thumbheight);    $srcpic = imagecreatefromjpeg($srcfile);    imagecopyresampled($dstthumbpic, $srcpic, 0, 0, 0, 0, $thumbwidth, $thumbheight, $srcwidth, $srcheight);    imagejpeg($dstthumbpic, $dstfile, 100);    imagedestroy($dstthumbpic);    imagedestroy($srcpic);    return true;   } elseif (isset($isgif) && $isgif) {    $dstthumbpic = imagecreatetruecolor($thumbwidth, $thumbheight);    //创建透明画布    imagealphablending($dstthumbpic, true);    imagesavealpha($dstthumbpic, true);    $trans_colour = imagecolorallocatealpha($dstthumbpic, 0, 0, 0, 127);    imagefill($dstthumbpic, 0, 0, $trans_colour);
    $srcpic = imagecreatefromgif($srcfile);    imagecopyresampled($dstthumbpic, $srcpic, 0, 0, 0, 0, $thumbwidth, $thumbheight, $srcwidth, $srcheight);    imagegif($dstthumbpic, $dstfile);    imagedestroy($dstthumbpic);    imagedestroy($srcpic);    return true;   } elseif (isset($ispng) && $ispng) {    $dstthumbpic = imagecreatetruecolor($thumbwidth, $thumbheight);    //创建透明画布    imagealphablending($dstthumbpic, true);    imagesavealpha($dstthumbpic, true);    $trans_colour = imagecolorallocatealpha($dstthumbpic, 0, 0, 0, 127);    imagefill($dstthumbpic, 0, 0, $trans_colour);
    $srcpic = imagecreatefrompng($srcfile);    imagecopyresampled($dstthumbpic, $srcpic, 0, 0, 0, 0, $thumbwidth, $thumbheight, $srcwidth, $srcheight);    imagepng($dstthumbpic, $dstfile);    imagedestroy($dstthumbpic);    imagedestroy($srcpic);    return true;   } else {    return false;   }  } else {   return false;  } }}?>

其它类似信息

推荐信息