- <?
- //自動縮圖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>";
- ?>
新聞熱點
疑難解答