加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-03-02 04:03:43 所属栏目:PHP教程 来源:互联网
导读:以下为引用的内容: ? //自动缩图$srcFile原文件,大图;$photo_small目标文件,小图;$dstW,$dstH是小图的宽,高。 function makethumb($srcFile,$photo_small,$dstW,$dstH) { $data = GetImageSize($srcFile); switch ($data[2]) { case 1: //图片类型,1是G
  以下为引用的内容:
  <?
  //自动缩图$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.CuoXIn.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>";
  ?>

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读