文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>生成图片缩略图的函数

生成图片缩略图的函数

时间:2007-02-18  来源:PHP爱好者

生成图片缩略图的函数
首先需要GD库,不同GD库版本,支持的图片格式是不一样的。
早期GD库支持GIF和JPEG,但不支持PNG。

后来由于GIF版权问题,GD库不支持GIF了,转而支持PNG格式。
使用以下函数时,请注意自己GD库的版本,有些操作不成功,可能就是因为这个原因。
CODE:
[复制到剪切板]
// 本函数从源文件取出图象,设定成指定大小,并输出到目的文件 
// 源文件格式:gif,jpg,jpe,jpeg,png 
// 目的文件格式:jpg 
// 参数说明: 
// $srcFile 源文件 
// $dstFile 目标文件 
// $dstW 目标图象宽度 
// $dstH 目标图象高度 
function makethumb($srcFile,$dstFile,$dstW,$dstH) { 
$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; 
$black = ImageColorAllocate($ni, 255,255,255);//填充的背景色你可以重新指定,我用的是黑色 
imagefilledrectangle($ni,0,0,$dstW,$dstH,$black); 
ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH); 
ImageJpeg($ni,$dstFile);//如果你要把图片直接输出到浏览器,那么把第二个参数去掉,并用header()函数指定mine类型先 
imagedestroy($im); 
imagedestroy($ni); 
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载