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

PHP图像处理函数实现美图秀秀的效果:缩放、旋转、水印等

发布时间:2023-07-01 00:13:06

PHP作为一种非常流行的服务器端脚本语言,提供了许多强大的图像处理函数。在本文中,将使用PHP图像处理函数实现美图秀秀的效果,包括缩放、旋转和水印等功能。

1. 缩放图像

使用PHP的imagecreatefromjpeg()函数加载JPEG图像文件,并使用imagescale()函数缩放该图像到指定的宽度和高度。最后使用imagejpeg()函数保存缩放后的图像文件。

// 要缩放的图片
$filename = 'input.jpg';
// 缩放后的宽度和高度
$width = 500;
$height = 500;

// 创建一个新图像资源
$image = imagecreatefromjpeg($filename);
// 缩放图像
$thumb = imagescale($image, $width, $height);
// 保存缩放后的图像
imagejpeg($thumb, 'output.jpg');

2. 旋转图像

使用PHP的imagecreatefromjpeg()函数加载JPEG图像文件,并使用imagerotate()函数将图像旋转指定的角度。最后使用imagejpeg()函数保存旋转后的图像文件。

// 要旋转的图片
$filename = 'input.jpg';
// 旋转角度(顺时针,单位为度)
$angle = 45;

// 创建一个新图像资源
$image = imagecreatefromjpeg($filename);

// 旋转图像
$rotated = imagerotate($image, $angle, 0);

// 保存旋转后的图像
imagejpeg($rotated, 'output.jpg');

3. 添加水印

使用PHP的imagecreatefromjpeg()函数加载JPEG图像文件,并使用imagecreate()函数创建一个图像资源作为水印图像。然后使用imagecopy()函数将水印图像复制到原图像上,并使用imagejpeg()函数保存添加水印后的图像文件。

// 要添加水印的图片
$filename = 'input.jpg';
// 水印图片
$watermark_file = 'watermark.png';

// 创建一个新图像资源
$image = imagecreatefromjpeg($filename);

// 创建水印图像
$watermark = imagecreatefrompng($watermark_file);

// 获取原图像的宽度和高度
$width = imagesx($image);
$height = imagesy($image);

// 获取水印图像的宽度和高度
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

// 水印位置(右下角)
$x = $width - $watermark_width - 10;
$y = $height - $watermark_height - 10;

// 将水印图像复制到原图像上
imagecopy($image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);

// 保存添加水印后的图像
imagejpeg($image, 'output.jpg');

以上就是使用PHP图像处理函数实现美图秀秀的效果的方法。通过这些函数,可以实现图像的缩放、旋转和添加水印等操作,使图片更加生动和丰富。