PHP实现上传文件生成小图加文字的实例
2011-05-18 15:19
831 查看
<?
//自动缩图$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] wedding jewelry sets
$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="";//文字
$font=5;//字体
$wordColor=imagecolorallocate($dstimg,0x08,0x00,0x00);//颜色
$wordX=$dstW2-200;//x坐标
$wordY=$dstH2-20;//y坐标wedding jewelry
wholesale
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>";
?>
//自动缩图$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] wedding jewelry sets
$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="";//文字
$font=5;//字体
$wordColor=imagecolorallocate($dstimg,0x08,0x00,0x00);//颜色
$wordX=$dstW2-200;//x坐标
$wordY=$dstH2-20;//y坐标wedding jewelry
wholesale
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>";
?>
相关文章推荐
- PHP实现上传文件生成小图加文字的实例
- php+ajax实现图片文件上传功能实例
- php结合Ajax如何实现异步文件上传的代码实例
- 利用discuz实现PHP大文件上传应用实例代码
- php 多文件上传的实现实例
- PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
- PHP实现文件上传下载实例
- PHP实现视频文件上传完整实例
- php结合Ajax实现异步文件上传的代码实例
- PHP实现文件上传与下载实例与总结
- PHP实现文件上传与下载实例与总结
- 利用discuz实现PHP大文件上传应用实例代码
- php 多文件上传的实现实例
- PHP实现视频文件上传完整实例
- PHP+KINDEDIT+mysql+javascript实现文本编辑和文件上传功能实例
- php实现文件上传功能的详细代码实例
- php实现文件上传功能的代码实例
- php+ajax实现图片文件上传实例代码
- php下连接ftp实现文件的上传、下载、删除文件实例代码
- [PHP实例] PHP多文件上传实现