PHP实现上传文件自动生成缩略图加文字例子代码
发布时间:2022-07-07 17:03:12 所属栏目:编程 来源:互联网
导读:? //自动缩图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原文件,大图;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>"; ?>。 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐