PHP中缩放图像.
有两种改变图像大小的方法.
(1):ImageCopyResized() 函数在所有GD版本中有效,但其缩放图像的算法比较粗糙.拷贝部分图像并调整大小
(2):ImageCopyResamples() ,其像素插值算法得到的图像边缘比较平滑.(但该函数的速度比 ImageCopyResized() 慢).重采样拷贝部分图像并调整大小
两个函数的参数是一样的.如下:
ImageCopyResampled(dest,src,dy,dx,sx,sy,dw,dh,sw,sh);
ImageCopyResized(dest,src,dy,dx,sx,sy,dw,dh,sw,sh);
<?PHP //例子
$src = ImageCreateFromJPEG('php.jpg');
$width = ImageSx($src);
$height = ImageSy($src);
$x = $widht/2;
$y = $height/2;
$dst = ImageCreateTrueColor($x,$y);
ImageCopyResampled($dst,$src,0,0,0,0,$x,$y,$widht,$height);
header('Content-Type : image/png');
ImagePNG($det);
?>
使用函式:
- bool imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
- bool imagecopyresampled ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
函式參數說明:
- dst_image : 輸出目標檔案
- src_image : 來源檔案
- dst_x: 目標檔案開始點的 x 座標
- dst_y: 目標檔案開始點的 y 座標
- src_x: 來源檔案開始點的 x 座標
- src_y: 來源檔案開始點的 y 座標
- dst_w: 目標檔案的長度
- dst_h: 目標檔案的高度
- src_w: 來源檔案的長度
- src_h: 來源檔案的高度
註: imagecopyresampled(), imagecopyresized() 兩個的縮圖品質, imagecopyresampled() 縮起來比較好.