我利用了getimagesize來獲取原圖片的大小然後再x0.5就是把圖片/5哦。
array getimagesize ( string $filename [, array &$imageinfo ] )
getimagesize() 函數將測定任何 gif,jpg,png,swf,swc,ps教程d,tiff,bmp,iff,jp2,jpx,jb2,jpc,xbm 或 wbmp 圖像文件的大小並返回圖像的尺寸以及文件類型和一個可以用於普通 html 文件中 <img> 標記中的 height/width 文本字符串。
如果不能訪問 filename 指定的圖像或者其不是有效的圖像,getimagesize() 將返回 false 並產生一條 e_warning 級的錯誤
*/
//定義一個文件
$filename='1.jpg';
$percent=0.5;
//發送頭部文件
header('content-type: image/jpeg');
//獲取圖像的大小
list($width,$height)=getimagesize($filename);
//定義新的大小
$new_width=$width * $percent;
$new_height=$height * $percent;
$image_p=imagecreatetruecolor($new_width, $new_height);
/*
: int imagecreate(int x_size, int y_size);
返回值: 整數
內容說明
本函數用來建立一張全空的圖形。參數 x_size、y_size 為圖形的尺寸,單位為像素 (pixel)。
*/
$image=imagecreatefromjpeg($filename);
/*
resource imagecreatefromjpeg ( string filename ) imagecreatefromjpeg() 返回一圖像標識符,代表了從給定的文件名取得的圖像。 imagecreatefromjpeg() 在失敗時返回一個空字符串,並且輸出一條錯誤信息,不幸地在浏覽器中顯示為斷鏈接。為減輕調試工作下面的例子會產生一個錯誤 jpeg:
*/
imagecopyresampled($image_p,$image,0,0,0,0,$new_width,$new_height,$width,$height);
/*
):imagecopyresamples() ,其像素插值算法得到的圖像邊緣比較平滑.質量較好(但該函數的速度比 imagecopyresized() 慢). 兩個函數的參數是一樣的.如下: imagecopyresampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
*/
//輸出圖像
imagejpeg($image_p, null, 100);
/*
執行該代碼,將把原圖像縮放50%,並以新圖像輸出
*/