PHP实现上传文件生成小图加文字的实例

时间:2007-08-15 18:36:56  来源:中国站长站  作者:  字号:【

以下为引用的内容:

<?//自动缩图$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); //在显示图片时用,把注释取消,可以直接在页面显示出图片。}//生成带有版权信息的图片

Chinaz.com

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); Chinaz.com  //定义要写入的文字 $word="http://www.webjx.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>";?> Chinaz.com

[中国站长站]

0

顶一下

0

埋一下
点击查看更多关于 PHP PHP编程 的主题
引用地址:

相关文章

热点文章

推荐文章