php gd等比例缩放压缩图片函数解决办法
内容摘要
这篇文章主要为大家详细介绍了php gd等比例缩放压缩图片函数简单示例,具有一定的参考价值,可以用来参考一下。
对php gd等比例缩放压缩图片函数简单示例对此感兴趣的朋友,看看
对php gd等比例缩放压缩图片函数简单示例对此感兴趣的朋友,看看
文章正文
这篇文章主要为大家详细介绍了php gd等比例缩放压缩图片函数简单示例,具有一定的参考价值,可以用来参考一下。
对php gd等比例缩放压缩图片函数简单示例对此感兴趣的朋友,看看idc笔记做的技术笔记!
/**
*
* @param
* @arrange (www.idcnote.com)
**/
/**
* desription 判断是否gif动画
* @param sting $image_file图片路径
* @return boolean t 是 f 否
*/
function check_gifcartoon($image_file){
$fp = fopen($image_file,'rb');
$image_head = fread($fp,1024);
fclose($fp);
return preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$image_head)?false:true;
}
/**
* desription 压缩图片
* @param sting $imgsrc 图片路径
* @param string $imgdst 压缩后保存路径
*/
function compressed_image($imgsrc,$imgdst){
list($width,$height,$type)=getimagesize($imgsrc);
$new_width = ($width>600?600:$width)*0.9;
$new_height =($height>600?600:$height)*0.9;
switch($type){
case 1:
$giftype=check_gifcartoon($imgsrc);
if($giftype){
header('Content-Type:image/gif');
$image_wp=imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromgif($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//75代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst,75);
imagedestroy($image_wp);
}
break;
case 2:
header('Content-Type:image/jpeg');
$image_wp=imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//75代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst,75);
imagedestroy($image_wp);
break;
case 3:
header('Content-Type:image/png');
$image_wp=imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefrompng($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//75代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst,75);
imagedestroy($image_wp);
break;
}
}
注:关于php gd等比例缩放压缩图片函数简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释