加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现上传文件自动生成缩略图加文字例子代码

发布时间:2022-07-08 03:17:44 所属栏目:PHP教程 来源:互联网
导读:? //自动缩图srcFile原文件,大图;photo_small目标文件,小图;dstW,dstH是小图的宽,高。 function makethumb(srcFile,photo_small,dstW,dstH) { data = GetImageSize(srcFile); switch (data[2]) { case 1: //图片类型,1是GIF图 im = @ImageCreateFromGI
  <?
  //自动缩图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)){//得出要生成图片的长宽
  dstWdstW2=dstW;//输出图片的宽度、高度
  dstH2=srcH*dstW/srcW;
  dstX=0;//输出图形的坐标x,y
  dstY=(dstH-dstH2)/2;
  }
  else{
  dstHdstH2=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)){//得出要生成图片的长宽
  dstWdstW2=dstW;//输出图片的宽度、高度
  dstH2=srcH*dstW/srcW;
  }
  else{
  dstHdstH2=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坐标
  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>";
  ?>。
  

(编辑:开发网_开封站长网)

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

    热点阅读