<?
//自动缩图$srcfile原文件,大图;$photo_small目标文件,小图;$dstw,$dsth是小图的宽,高。
function makethumb($srcfile,$photo_small,$dstw,$dsth) {
$data = getimagesize($srcfile);
switch ($data[2]) {
case 1: //图片类型,1是gif图
$im = @imagecreatefromgif($srcfile);
break;
case 2: //图片类型,2是jpg图
$im = @imagecreatefromjpeg($srcfile);
break;
case 3: //图片类型,3是png图
$im = @imagecreatefrompng($srcfile);
break;
}
$srcw=imagesx($im);//原始图片的宽度,也可以使用$data[0]
$srch=imagesy($im);//原始图片的高度,也可以使用$data[1]
$srcx=0;//来源图的坐标x,y
$srcy=0;
if(($srcw/$dstw)>($srch/$dsth)){//得出要生成图片的长宽
$dstw2=$dstw;//输出图片的宽度、高度
$dsth2=$srch*$dstw/$srcw;
$dstx=0;//输出图形的坐标x,y
$dsty=($dsth-$dsth2)/2;
}
else{
$dsth2=$dsth;//输出图片的宽度、高度
$dstw2=$srcw*$dstw/$srch;
$dstx=($dstw-$dstw2)/2;//输出图形的坐标x,y
$dsty=0;
}
$ni=imagecreatetruecolor($dstw,$dsth);//imagecreate($dstw,$dsth);画出空白花布的大小
$colorbody=imagecolorallocate($ni,235,234,233);//定义背景颜色
imagefill($ni,0,0,$colorbody);//填充背景颜色
imagecopyresized($ni,$im,$dstx,$dsty,$srcx,$srcy,$dstw2,$dsth2,$srcw,$srch);
imagejpeg($ni,$photo_small);
//imagejpeg($ni); //在显示图片时用,把注释取消,可以直接在页面显示出图片。
}
//生成带有版权信息的图片
function makecopyright($srcfile,$dstfile,$dstw,$dsth){
$data = getimagesize($srcfile);
switch ($data[2]) {
case 1: //图片类型,1是gif图
$srcimg = @imagecreatefromgif($srcfile);
break;
case 2: //图片类型,2是jpg图
$srcimg = @imagecreatefromjpeg($srcfile);
break;
case 3: //图片类型,3是png图
$srcimg = @imagecreatefrompng($srcfile);
break;
}
$srcw=imagesx($srcimg);//原始图片的宽度,也可以使用$data[0]
$srch=imagesy($srcimg);//原始图片的高度,也可以使用$data[1]
if(($srcw/$dstw)>($srch/$dsth)){//得出要生成图片的长宽
$dstw2=$dstw;//输出图片的宽度、高度
$dsth2=$srch*$dstw/$srcw;
}
else{
$dsth2=$dsth;//输出图片的宽度、高度
$dstw2=$srcw*$dstw/$srch;
}
$dstimg=imagecreatetruecolor($dstw2,$dsth2);//画出空白花布的大小
imagecopyresized($dstimg,$srcimg,0,0,0,0,$dstw2,$dsth2,$srcw,$srch);
//定义要写入的文字
$word="http://www.VeVb.com";//文字
$font=5;//字体
$wordcolor=imagecolorallocate($dstimg,0x08,0x00,0x00);//颜色
$wordx=$dstw2-200;//x坐标
$wordy=$dsth2-20;//y坐标
imagestring($dstimg,$font,$wordx,$wordy,$word,$wordcolor);//写入文字
imagejpeg($dstimg,$dstfile);
//imagejpeg($ni); //在显示图片时用,把注释取消,可以直接在页面显示出图片。
}
//调用
$srcfile=$pimg_name;//取得文件扩展名:
$type=substr(strrchr($pimg_name,"."),1);
$photo_id=date("ymdhis");
$dst_small=$photo_id."_s.".$type; //小图
$dst_big=$photo_id."_b.".$type; //大图
makethumb($pimg,"../cpzs/".$dst_small,120,90);//120,90为小图宽,高
makecopyright($pimg,"../cpzs/".$dst_big,600,480);
//if(copy($pimg,"../cpzs/".$dst_big))
// echo "文件上传成功<br>";
//else
// echo "文件上传失败<br>";
?>
新闻热点
疑难解答