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

以下为引用的内容:
     //自动缩图\(srcFile原文件,大图;\)photo_small目标文件,小图;\(dstW,\)dstH是小图的宽,高。
  function makethumb(\(srcFile,\)photo_small,\(dstW,\)dstH) {
  \(data = GetImageSize(\)srcFile);
  switch (\(data[2]) {<br/>   case 1: //图片类型,1是GIF图<br/>   \)im = @ImageCreateFromGIF(\(srcFile);<br/>   break;<br/>   case 2: //图片类型,2是JPG图<br/>   \)im = @imagecreatefromjpeg(\(srcFile);<br/>   break;<br/>   case 3: //图片类型,3是PNG图<br/>   \)im = @ImageCreateFromPNG(\(srcFile);<br/>   break;<br/>   }<br/>   \)srcW=ImageSX(\(im);//原始图片的宽度,也可以使用\)data[0]
  \(srcH=ImageSY(\)im);//原始图片的高度,也可以使用\(data[1]<br/>   \)srcX=0;//来源图的坐标x,y
  \(srcY=0;<br/>   if((\)srcW/\(dstW)&gt;(\)srcH/\(dstH)){//得出要生成图片的长宽<br/>   \)dstW2=\(dstW;//输出图片的宽度、高度<br/>   \)dstH2=\(srcH*\)dstW/\(srcW;<br/>   \)dstX=0;//输出图形的坐标x,y
  \(dstY=(\)dstH-\(dstH2)/2;<br/>   }<br/>   else{<br/>   \)dstH2=\(dstH;//输出图片的宽度、高度<br/>   \)dstW2=\(srcW*\)dstW/\(srcH;<br/>   \)dstX=(\(dstW-\)dstW2)/2;//输出图形的坐标x,y
  \(dstY=0;<br/>   }<br/>   \)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); //在显示图片时用,把注释取消,可以直接在页面显示出图片。<br/>   }<br/>   //生成带有版权信息的图片<br/>   function makeCopyright(\)srcFile,\(dstFile,\)dstW,\(dstH){<br/>   \)data = GetImageSize(\(srcFile);<br/>   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]<br/>   \)srcH=ImageSY(\(srcImg);//原始图片的高度,也可以使用\)data[1]
 
  if((\(srcW/\)dstW)&gt;(\(srcH/\)dstH)){//得出要生成图片的长宽
  \(dstW2=\)dstW;//输出图片的宽度、高度
  \(dstH2=\)srcH\(dstW/\)srcW;
  }
  else{
  \(dstH2=\)dstH;//输出图片的宽度、高度
  \(dstW2=\)srcW
\(dstW/\)srcH;
  }
  \(dstimg=imagecreatetruecolor(\)dstW2,\(dstH2);//画出空白花布的大小<br/>   ImageCopyResized(\)dstimg,\(srcImg,0,0,0,0,\)dstW2,\(dstH2,\)srcW,\(srcH);<br/>   //定义要写入的文字<br/>   \)word=“http://www.CuoXIn.com&#34;;//文字
  \(font=5;//字体<br/>   \)wordColor=imagecolorallocate(\(dstimg,0x08,0x00,0x00);//颜色<br/>   \)wordX=\(dstW2-200;//x坐标<br/>   \)wordY=\(dstH2-20;//y坐标<br/>   imagestring(\)dstimg,\(font,\)wordX,\(wordY,\)word,\(wordColor);//写入文字<br/>   ImageJpeg(\)dstimg,\(dstFile);<br/>   //ImageJpeg(\)ni); //在显示图片时用,把注释取消,可以直接在页面显示出图片。
  }
 
  //调用
  \(srcFile=\)pimg_name;//取得文件扩展名:
  \(type=substr(strrchr(\)pimg_name,”.“),1);
  \(photo_ID=date(&#34;YmdHis&#34;);<br/>   \)dst_small=\(photo_ID.&#34;_s.&#34;.\)type; //小图
  \(dst_big=\)photo_ID.”_b.“.\(type; //大图<br/>   makethumb(\)pimg,”../cpzs/“.\(dst_small,120,90);//120,90为小图宽,高<br/>   makeCopyright(\)pimg,”../cpzs/“.\(dst_big,600,480);<br/>   //if(copy(\)pimg,”../cpzs/“.$dst_big))
  // echo ”文件上传成功
“;
  //else
  // echo ”文件上传失败
“;
  ?&gt;

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