<? function makethumb($srcFile,$dstW,$dstH, $type='png') { $data = GetImageSize($srcFile,&$info); switch ($data[2]) { case 1: $im = ImageCreateFromGIF($srcFile); break; case 2: $im = ImageCreateFromJPEG($srcFile); break; case 3: $im = ImageCreateFromPNG($srcFile); break; } $srcW=ImageSX($im); $srcH=ImageSY($im); $dstX=0; $dstY=0; if ($srcW*$dstH>$srcH*$dstW) { $fdstH=round($srcH*$dstW/$srcW); $dstY=floor(($dstH-$fdstH)/2); $fdstW=$dstW; } else { $fdstW=round($srcW*$dstH/$srcH); $dstX=floor(($dstW-$fdstW)/2); $fdstH=$dstH; } $ni=imagecreate($dstW,$dstH); $dstX=($dstX<0)?0:$dstX; $dstY=($dstX<0)?0:$dstY; $dstX=($dstX>($dstW/2))?floor($dstW/2):$dstX; $dstY=($dstY>($dstH/2))?floor($dstH/s):$dstY; $white = ImageColorAllocate($ni, 255,255,255);//Ìî³äµÄ±³¾°É« imagefilledrectangle($ni,0,0,$dstW,$dstH,$white); ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH); ImageJpeg($ni); //imagedestroy($im); //imagedestroy($ni); } makethumb("1.jpg",259,193,"jpg"); |