從網(wǎng)上找來了從jpg文件生成縮略圖的程序,略加改動(dòng)變成下面的程序,現(xiàn)在這個(gè)程序可以將一個(gè)jpg文件的縮略圖直接輸出,但我想在網(wǎng)頁的某個(gè)位置插入一個(gè)或者多個(gè)縮略圖以方便我編輯圖片的時(shí)候有所依據(jù),但下面的這個(gè)函數(shù)在輸出的時(shí)候出現(xiàn)很多亂碼,如何解決呢? <? 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");
|