一个创建图片缩略图的函数:thumb,有需要的朋友可以参考下。
<?php
/**
* 创建图片缩略图,成功返回真
*
* @param string $cat 目录
* @param string $oldname 原图文件名
* @param string $newname 新图文件名
* @param int $width 缩略图宽
* @param int $height 缩略图高
* @return
*/
function thumb($cat,$oldname,$newname,$width=160,$height=120){
$srcFile = $cat. "/" .$oldname;
$data = getimagesize($srcFile);
$dscFile = $cat. "/". $newname;
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);
if(($srcW/$width)>=($srcH/$height)){
$temp_height=$height;
$temp_width=$srcW/($srcH/$height);
$src_X=abs(($width-$temp_width)/2);
$src_Y=0;
}
else{
$temp_width=$width;
$temp_height=$srcH/($srcW/$width);
$src_X=0;
$src_Y=abs(($height-$temp_height)/2);
}
$temp_img=imagecreatetruecolor($temp_width,$temp_height);
imagecopyresized($temp_img,$im,0,0,0,0,$temp_width,$temp_height,$srcW,$srcH);
$ni=imagecreatetruecolor($width,$height);
imagecopyresized($ni,$temp_img,0,0,$src_X,$src_Y,$width,$height,$width,$height);
$cr = imagejpeg($ni,$dscFile);
if ($cr){
chmod($dscFile, 0777);
return true;
}
}
?>
您可能感兴趣的文章:
php 多图片上传的简单例子(图文)
php GD库上传图片并创建缩略图的代码
又一个生成图片缩略图的函数
php图片加水印与上传图片加水印类
php为图片加中文水印的代码
php上传文件并添加文字与图片水印的代码
php 上传图片加水印且支持透明的代码
php上传图片功能的实现