php 内置函数提供了便捷的图像处理功能,可实现图像缩放、裁剪、添加水印等操作。使用 imagecopyresampled() 可缩放图像,imagecrop() 可裁剪图像,而 imagecopymerge() 用于添加水印。
如何使用 PHP 内置函数处理图像
PHP 提供了丰富的内置函数,用于图像处理,方便快捷地操作图像。本文将介绍如何使用这些函数对图像进行常见操作,包括缩放、裁剪、添加水印等。以下内容包括实际案例代码。
缩放图像
imagecopyresampled()
函数可以缩放图像:
<?php
$src_image = 'image.jpg';
$dst_image = 'image-scaled.jpg';
$scaled_width = 300;
$scaled_height = 200;
$src = imagecreatefromjpeg($src_image);
$dst = imagecreatetruecolor($scaled_width, $scaled_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $scaled_width, $scaled_height, imagesx($src), imagesy($src));
imagejpeg($dst, $dst_image);
?>
裁剪图像
imagecrop()
函数可以裁剪图像:
<?php
$src_image = 'image.jpg';
$dst_image = 'image-cropped.jpg';
$crop_x = 100;
$crop_y = 200;
$crop_width = 300;
$crop_height = 200;
$src = imagecreatefromjpeg($src_image);
$dst = imagecrop($src, ['x' => $crop_x, 'y' => $crop_y, 'width' => $crop_width, 'height' => $crop_height]);
imagejpeg($dst, $dst_image);
?>
添加水印
imagecopymerge()
函数可以添加水印:
<?php
$main_image = 'image.jpg';
$watermark_image = 'watermark.png';
$output_image = 'image-with-watermark.jpg';
$margin = 50;
$main = imagecreatefromjpeg($main_image);
$watermark = imagecreatefrompng($watermark_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$dst_x = imagesx($main) - $margin - $watermark_width;
$dst_y = imagesy($main) - $margin - $watermark_height;
imagecopymerge($main, $watermark, $dst_x, $dst_y, 0, 0, $watermark_width, $watermark_height, 75);
imagejpeg($main, $output_image);
?>