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

利用PHP图像处理函数实现图片编辑和优化

发布时间:2023-06-19 03:37:44

PHP图像处理函数可以对图片进行编辑和优化,比如缩放、旋转、剪裁、加水印、调整亮度、对比度等等。下面将介绍常用的几个功能。

1. 缩放图片

使用PHP的imagecopyresampled()函数可以缩放一张图片,该函数可以根据给定的宽度和高度对图片进行缩放,并生成新的图片。代码如下:

$src_image = imagecreatefromjpeg('source.jpg');
$new_width = 100;
$new_height = 100;
$dst_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, imagesx($src_image), imagesy($src_image));
imagejpeg($dst_image, 'new_image.jpg');
imagedestroy($src_image);
imagedestroy($dst_image); 

2. 旋转图片

使用PHP的imagerotate()函数可以旋转一张图片,该函数可以根据给定的角度对图片进行旋转,并生成新的图片。代码如下:

$src_image = imagecreatefromjpeg('source.jpg');
$angle = 45;
$dst_image = imagerotate($src_image, $angle, 0);
imagejpeg($dst_image, 'new_image.jpg');
imagedestroy($src_image);
imagedestroy($dst_image);

3. 剪裁图片

使用PHP的imagecrop()函数可以剪裁一张图片,该函数可以根据给定的图片坐标和尺寸对图片进行剪裁,并生成新的图片。代码如下:

$src_image = imagecreatefromjpeg('source.jpg');
$x = 50;
$y = 50;
$width = 100;
$height = 100;
$dst_image = imagecrop($src_image, ['x' => $x, 'y' => $y, 'width' => $width, 'height' => $height]);
imagejpeg($dst_image, 'new_image.jpg');
imagedestroy($src_image);
imagedestroy($dst_image);

4. 加水印

使用PHP的imagecopy()函数可以给一张图片添加水印,该函数可以将一个图片合并到另一个图片上,并生成新的图片。代码如下:

$src_image = imagecreatefromjpeg('source.jpg');
$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$dst_x = imagesx($src_image) - $watermark_width;
$dst_y = imagesy($src_image) - $watermark_height;
imagecopy($src_image, $watermark, $dst_x, $dst_y, 0, 0, $watermark_width, $watermark_height);
imagejpeg($src_image, 'new_image.jpg');
imagedestroy($src_image);
imagedestroy($watermark);

5. 调整亮度和对比度

使用PHP的imagefilter()函数可以调整一张图片的亮度和对比度,该函数可以根据给定的参数对图片进行处理,并生成新的图片。代码如下:

$src_image = imagecreatefromjpeg('source.jpg');
$brightness = 50;
$contrast = 50;
imagefilter($src_image, IMG_FILTER_BRIGHTNESS, $brightness);
imagefilter($src_image, IMG_FILTER_CONTRAST, $contrast);
imagejpeg($src_image, 'new_image.jpg');
imagedestroy($src_image);

以上就是几个常用的PHP图像处理函数,它们可以帮助我们对图片进行编辑和优化,让图片更加美观和符合需求。