这是一款利用php自带的功能把指定的大图生成我们指定大小的缩略图代码,使用方便简单,只要把设置下面四个参数就可以生成自己想的大小的缩略图了,代码如下:
- function bigtosmallimg($file,$path,$w=120,$h=90)
- {
- $img=$path.$file;
- $imgarr=getimagesize($img);
- $sw=$imgarr[0];
- $sh=$imgarr[1];
- $stype=$imgarr[2];
-
- if($sw/$sh>$w/$h){
- $mw=$w;
- $mh=(int)$sh*($w/$sw);
- }
- else{
- $mw=(int)$sw*($h/$sh);
- $mh=$h;
- }
-
- switch($stype){
- case 1:
- $srcf = imagecreatefromgif($img);
- break;
- case 2:
- $srcf = imagecreatefromjpeg($img);
- break;
- case 3:
- $srcf = imagecreatefrompng($img);
- break;
- default:
- showmsg('程序调用错误。');
- break;
- }
-
- $desf =imagecreatetruecolor($mw,$mh);
-
- imagecopyresampled($desf,$srcf,0,0,0,0,$mw,$mh,$sw,$sh);
- $sm_name=$path."s_".$file;
- switch($stype){
- case 1:
- imagegif($desf,$sm_name);
- break;
- case 2:
- imagejpeg($desf,$sm_name);
- break;
- case 3:
- imagepng($desf,$sm_name);
- break;
- default:
- showmsg('无法生成www.phpfensi.com' . $stype . '的缩略图。');
- break;
- }
- imagedestroy($desf);
- imagedestroy($srcf);
-
- }
-
-
-
- bigtosmallimg($file,$path,$w=120,$h=90);
-
-
-
-
-
-
|