PHP 缩放图像

本文最后更新于:2024年3月18日 凌晨

PHP 缩放图像

  • 有两种改变图像大小的方法,ImageCopyResized()函数在所有GD版本汇总有效,但其缩放图像的算法比较粗糙,可能会导致图像边缘的锯齿,GD 2.x中新增了一个imageCopy-Resampled()函数,其像素插值算法得到的图像边缘比较平滑(但该函数的速度比ImageCopyResized()慢),两个函数的参数是一样的。
1
2
ImageCopyResized(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
ImageCopyResampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
  • dest和src参数是图像文件的句柄,点(dx,dy)表示源图像将复制到目标图像那个点上,点(sx,sy)是源图像的左上角,sw,sh,dw和dh参数指出了源图像和目标图像中待复制区域的框高。

示例9-11:用ImageCopyResampled()缩放图像。

1
2
3
4
5
6
7
8
9
10
<?php
$src = ImageCreateFromPNG('../../../Media/Photo/image/1.png');
$width = ImageSx($src);
$height = ImageSy($src);
$x = $width/2;
$y = $width/2;
$dst = ImageCreateTrueColor($x,$y);
ImageCopyResampled($dst,$src,0,0,0,0,$x,$y,$width,$height);
ImagePNG($dst);
?>
  • 将宽高除以4,则得到原图1/16大小的图像。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!