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

PHP图像处理函数:裁剪,缩放和添加水印

发布时间:2023-09-22 10:55:31

在PHP中,有许多图像处理函数可用于实现裁剪、缩放和添加水印等操作。下面我将为您介绍一些常用的图像处理函数及其用法。

1. 裁剪图像

使用imagecrop()函数可以裁剪图像。该函数接受三个参数:原始图像资源、裁剪区域的左上角坐标和裁剪区域的宽度和高度。以下是一个示例:

$source_image = imagecreatefromjpeg('source.jpg');
$cropped_image = imagecrop($source_image, ['x' => 100, 'y' => 100, 'width' => 200, 'height' => 200]);
imagejpeg($cropped_image, 'cropped.jpg');

上述代码将从源图像中裁剪一个200x200像素的区域,以左上角坐标(100, 100)为起点。

2. 缩放图像

使用imagescale()函数可以缩放图像。该函数接受四个参数:原始图像资源、缩放后的宽度和高度以及缩放算法(可选参数,默认使用bicubic插值算法)。以下是一个示例:

$source_image = imagecreatefromjpeg('source.jpg');
$scaled_image = imagescale($source_image, 400, 300);
imagejpeg($scaled_image, 'scaled.jpg');

上述代码将原始图像缩放为400x300像素的图像。

3. 添加水印

使用imagecopy()函数可以将水印图像复制到目标图像上。该函数接受五个参数:目标图像资源、水印图像资源、水印在目标图像上的位置信息以及水印图像的左上角坐标。以下是一个示例:

$source_image = imagecreatefromjpeg('source.jpg');
$watermark_image = imagecreatefrompng('watermark.png');

// 将水印图像复制到目标图像的右下角
$watermark_x = imagesx($source_image) - imagesx($watermark_image) - 10;
$watermark_y = imagesy($source_image) - imagesy($watermark_image) - 10;

imagecopy($source_image, $watermark_image, $watermark_x, $watermark_y, 0, 0, imagesx($watermark_image), imagesy($watermark_image));
imagejpeg($source_image, 'watermarked.jpg');

上述代码将水印图像复制到源图像的右下角,距离右边和底部的边缘均为10像素。

这只是一部分PHP图像处理函数的用法示例,PHP还提供了许多其他用于图像处理的函数和扩展,可以灵活地实现各种图像编辑操作。对于更复杂的图像处理需求,您可能需要深入研究PHP图像处理相关的文档和教程。