欢迎访问宙启技术站
智能推送

PHP图像处理函数使用-缩放、裁剪、旋转和水印等

发布时间:2023-10-25 07:49:57

在PHP中,有许多内置的图像处理函数可以用来对图像进行缩放、裁剪、旋转和添加水印等操作。以下是一些常用的图像处理函数及其用法:

1. 缩放图像:使用imagecopyresampled函数可以将图像按照指定的大小进行缩放。例如,将一个图像缩放为宽度为200像素、高度按比例计算的图像:

$src_image = imagecreatefromjpeg('image.jpg');
$width = 200;
$height = imagesy($src_image) * ($width / imagesx($src_image));
$dst_image = imagecreatetruecolor($width, $height);
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $width, $height, imagesx($src_image), imagesy($src_image));
imagedestroy($src_image);
imagejpeg($dst_image, 'resized_image.jpg');
imagedestroy($dst_image);

2. 裁剪图像:使用imagecopyresampled函数可以裁剪图像的一部分。例如,将一个图像裁剪为宽度为200像素、高度为200像素的图像:

$src_image = imagecreatefromjpeg('image.jpg');
$width = 200;
$height = 200;
$x = (imagesx($src_image) - $width) / 2;  // 起始点的横坐标
$y = (imagesy($src_image) - $height) / 2;  // 起始点的纵坐标
$dst_image = imagecreatetruecolor($width, $height);
imagecopyresampled($dst_image, $src_image, 0, 0, $x, $y, $width, $height, $width, $height);
imagedestroy($src_image);
imagejpeg($dst_image, 'cropped_image.jpg');
imagedestroy($dst_image);

3. 旋转图像:使用imagerotate函数可以旋转图像。例如,将一个图像逆时针旋转90度:

$src_image = imagecreatefromjpeg('image.jpg');
$angle = -90;  // 旋转角度,逆时针为负,顺时针为正
$dst_image = imagerotate($src_image, $angle, 0);
imagedestroy($src_image);
imagejpeg($dst_image, 'rotated_image.jpg');
imagedestroy($dst_image);

4. 添加水印:使用imagecopy函数可以将一个图像作为水印添加到另一个图像上。例如,将一个水印图像添加到源图像的右下角:

$src_image = imagecreatefromjpeg('image.jpg');
$watermark_image = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark_image);
$watermark_height = imagesy($watermark_image);
$dst_x = imagesx($src_image) - $watermark_width;  // 放置水印的横坐标
$dst_y = imagesy($src_image) - $watermark_height;  // 放置水印的纵坐标
imagecopy($src_image, $watermark_image, $dst_x, $dst_y, 0, 0, $watermark_width, $watermark_height);
imagedestroy($watermark_image);
imagejpeg($src_image, 'watermarked_image.jpg');
imagedestroy($src_image);

以上是一些常用的PHP图像处理函数及其用法。通过这些函数,我们可以对图像进行各种处理,达到所需的效果。当然,还有许多其他的图像处理函数可以使用,需要根据具体需求进行选择和使用。