1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php的thumb生成缩略图 php 生成缩略图

php的thumb生成缩略图 php 生成缩略图

时间:2019-01-20 05:31:24

相关推荐

php的thumb生成缩略图 php 生成缩略图

php 生成缩略图$img='images/2.jpg';

createThumb($img,500);

/**

*生成缩略图

*@param$img原图路径

*@paramint$thumb_width缩略图的宽度,默认200

*@paramstring$ext缩略图的扩展名,默认和原图相同

*@returnbool|string

*/

functioncreateThumb($img,$thumb_width=200,$ext='')

{

//1.获取原图像的大小

$img_arr=getimagesize($img);

$img_width=$img_arr[0];

$img_height=$img_arr[1];

//获取原图像资源

$src=imagecreatefromAll($img);

//2.计算缩略图大小

//方式二:

//$thumb_width=200;

$thumb_height=$img_height*$thumb_width/$img_width;

//3.创建画布

//$thumb=imagecreate($thumb_width,$thumb_height);

$thumb=imagecreatetruecolor($thumb_width,$thumb_height);

//4.生成缩略图

imagecopyresized($thumb,$src,0,0,0,0,$thumb_width,$thumb_height,$img_width,$img_height);

//5.生成文件

$thumb_file=createImageAll($img,$thumb,$ext);

//只在浏览器中显示,不生成文件

//header('content-type:image/jpeg');

//imagepng($thumb);

imagedestroy($thumb);

imagedestroy($src);

return$thumb_file;

}

/**

*获取图片资源

*@param$src图片路径

*@returnbool|resource

*/

functionimageCreateFromAll($src)

{

$src_arr=getimagesize($src);

switch($src_arr['mime']){

case'image/jpeg':

returnimagecreatefromjpeg($src);

case'image/png':

returnimagecreatefrompng($src);

case'image/gif':

returnimagecreatefromgif($src);

case'image/bmp':

returnimagecreatefrombmp($src);

//case'image/wbmp':

//returnimagecreatefromwbmp($src);

//case'image/webp':

//returnimagecreatefromwebp($src);

//case'image/x-xbitmap':

//returnimagecreatefromxbm($src);

//case'image/x-xpixmap':

//returnimagecreatefromxpm($src);

default:

returnfalse;

}

}

/**

*生成图片

*@param$src原图的路径

*@param$im目标图的资源

*@paramstring$ext生成图片的扩展名,默认是原图扩展名

*@paramstring$prefix文件名前缀

*@paramint$quality生成jpg格式图片的质量

*@returnbool|string

*/

functioncreateImageAll($src,$im,$ext='',$prefix='thumb_',$quality=80)

{

$src_path=pathinfo($src);

//$ext为空,和原图扩展名相同

if(empty($ext)){

$ext=$src_path['extension'];

}

$new_file=$src_path['dirname'].'/'.$prefix.$src_path['filename'].'.'.$ext;

switch(strtolower($ext)){

case'jpg':

imagejpeg($im,$new_file,$quality);

return$new_file;

case'png':

imagepng($im,$new_file);

return$new_file;

case'gif';

imagegif($im,$new_file);

return$new_file;

default:

returnfalse;

}

}

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