PHP提供了一个强大的图像处理库GD(GD Graphics Library),可以用它来处理图像,如缩放、剪裁等。
在PHP中使用GD库前需要确保服务器上已经安装了GD库。
可以使用phpinfo()函数来查看服务器上是否安装了GD库。
phpinfo();
使用GD库的imagecopyresized()函数来缩放图片。
下面的示例将一张图片缩小一半:
$src_image = imagecreatefromjpeg('image.jpg');
$src_width = imagesx($src_image);
$src_height = imagesy($src_image);
$dst_width = $src_width / 2;
$dst_height = $src_height / 2;
$dst_image = imagecreatetruecolor($dst_width, $dst_height);
imagecopyresized($dst_image, $src_image, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
header('Content-type: image/jpeg');
imagejpeg($dst_image);
imagedestroy($src_image);
imagedestroy($dst_image);
使用GD库的imagecopy()函数来剪裁图片。
下面的示例将一张图片剪裁为正方形:
$src_image = imagecreatefromjpeg('image.jpg');
$src_width = imagesx($src_image);
$src_height = imagesy($src_image);
if ($src_width > $src_height) {
$src_x = ($src_width - $src_height) / 2;
$src_y = 0;
$src_width = $src_height;
} else {
$src_x = 0;
$src_y = ($src_height - $src_width) / 2;
$src_height = $src_width;
}
$dst_width = $src_width;
$dst_height = $src_height;
$dst_image = imagecreatetruecolor($dst_width, $dst_height);
imagecopy($dst_image, $src_image, 0, 0, $src_x, $src_y, $dst_width, $dst_height);
header('Content-type: image/jpeg');
imagejpeg($dst_image);
imagedestroy($src_image);
imagedestroy($dst_image);
使用GD库的imagerotate()函数来旋转图片。
下面的示例将一张图片顺时针旋转90度:
$src_image = imagecreatefromjpeg('image.jpg');
$dst_image = imagerotate($src_image, 90, 0);
header('Content-type: image/jpeg');
imagejpeg($dst_image);
imagedestroy($src_image);
imagedestroy($dst_image);