700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php创建图片的缩略图 如何通过php给图片创建缩略图?

php创建图片的缩略图 如何通过php给图片创建缩略图?

时间:2023-09-27 12:08:03

相关推荐

php创建图片的缩略图 如何通过php给图片创建缩略图?

function image_scale($img_a,$w_a=100,$h_a=100,$pre="s_"){

//1、获取原图片信息

$imginfo = getimagesize($img_a);//getimagesize返回一个数组:下标0是宽,1是高,2是类型

$w=$imginfo[0];//原图片宽

$h=$imginfo[1];//原图片高

switch($imginfo[2]){//获取图片类型并创建对应图片资源

case 1: //gif

$im=imagecreatefromgif($img_a);

break;

case 2://jpg

$im=imagecreatefromjpeg($img_a);

break;

case 3: //png2wbmp

$im=imagecreatefrompng($img_a);

break;

default:

die("imagecreate图片类型错误");

}

//2、获取缩放比例

if($w_a/$w > $h_a/$h){

$scale = $h_a/$h;

}else{

$scale = $w_a/$w;

}

$w_b = $w*$scale;//缩放图片的宽和高

$h_b = $h*$scale;

//3、创建新图片

$im_new = imagecreatetruecolor($w_b,$h_b);

//重采样图片:参数1新图片源,2原图片源,3和4新图片位置,5和6老图片位置,7和8新图片宽和高,9和10是老图片宽和高

imagecopyresampled($im_new,$im,0,0,0,0,$w_b,$h_b,$w,$h);

$img_info=pathinfo($img_a);//获取原图片名

$img_name=$img_info["dirname"]."/".$pre."_".$img_info["basename"];//缩略图名

switch($imginfo[2]){//输出新图片

case 1: //gif

imagegif($im_new,$img_name);

break;

case 2://jpg

imagejpeg($im_new,$img_name);

break;

case 3: //png2wbmp

imagepng($im_new,$img_name);

break;

default:

die("输出图片类型错误");

}

imagedestroy($im); //释放原图片资源

imagedestroy($im_new);//释放新图片资源

return $img_name; //返回缩略图片名

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。