2
3// source file formats:gif,jpg,jpe,jpeg,png
4// purpose of file formats:jpg
5// parameters::
6// srcFile source
7// dstFile target file
8// dstW target image width
9// dstH goal of a high degree of image
10function makethumb(srcFile,dstFile,dstW,dstH) {
11 data = GetImageSize(srcFile,info);
12 switch (data[2]){
13 case 1: phpsu.com
14 im = @ImageCreateFromGIF(srcFile);
15 break;
16 case 2:
17 im = @imagecreatefromjpeg(srcFile);
18 break;
19 case 3:
20 im = @ImageCreateFromPNG(srcFile);
21 break;
22 }
23 srcW=ImageSX(im);
24 srcH=ImageSY(im);
25 dstX=0;
26 dstY=0;
27/*
28 if (srcW*dstH>srcH*dstW) {
29 fdstH=round(srcH*dstW/srcW);
30 dstY=floor((dstH-fdstH)/2);
31 fdstW=dstW;
32 }else{
33 fdstW=round(srcW*dstH/srcH);
34 dstX=floor((dstW-fdstW)/2);
35 fdstH=dstH;
36 }
37*/
38 bili=srcW/srcH;
39 if(srcW * srcH >= dstW * dstH){
40 if(srcW >srcH){
41 fdstW=dstW;
42 fdstH=ceil(fdstW / bili);
43 }else{
44 fdstH=dstH;
45 fdstW=ceil(fdstH * bili);
46 }
47 }else{
48 if(srcW <= dstW && srcH <= dstH){
49 fdstW=srcW;
50 fdstH=srcH;
51 }elseif(srcW >= dstW){
52 fdstW=dstW;
53 fdstH=ceil(fdstW / bili);
phpsu.com is a free phpscool
54 }else{
55 fdstH=dstH;
56 fdstW=ceil(fdstH * bili);
57 }
58 }
59 //echo fdstW,':',fdstH;
60 //ni=imagecreatetruecolor(dstW,dstH);
61 ni=imagecreatetruecolor(fdstW,fdstH);
62 dstX=(dstX<0)?0:dstX;
63 dstY=(dstX<0)?0:dstY;
64 dstX=(dstX>(dstW/2))?floor(dstW/2):dstX;
65 dstY=(dstY>(dstH/2))?floor(dstH/s):dstY;
66
67 black = ImageColorAllocate(ni, 255,255,255);//Filling the background color: Black
68 imagefilledrectangle(ni,0,0,dstW,dstH,black);
69 //imagecopyresampled(ni,im,dstX,dstY,0,0,fdstW,fdstH,srcW,srcH);
70 imagecopyresampled(ni,im,0,0,0,0,fdstW,fdstH,srcW,srcH);
71 ImageJpeg(ni,dstFile);//Output two pictures directly remove the parameters used header () mine type
72 imagedestroy(im);
73 imagedestroy(ni);
74}
75
76
TITLE:php function thumbnails