PHP图像处理函数:调整大小、裁剪、旋转、水印
发布时间:2023-07-06 15:16:25
PHP是一种非常流行的服务器端脚本语言,提供了强大的图像处理函数,可以用于调整大小、裁剪、旋转和添加水印等操作。
调整大小是一种常见的图像处理操作,可以用来改变图像的尺寸。PHP提供了imagecopyresized函数来实现图像大小调整。该函数可以将原始图像缩放到新的尺寸,并将结果保存到新的文件中。
裁剪是指从原始图像中截取一个特定区域的操作。PHP提供了imagecopyresampled函数来实现图像裁剪。该函数可以将指定区域的图像复制到新的图像中,并将结果保存到新的文件中。
旋转是将图像按指定角度进行旋转的操作。PHP提供了imagerotate函数来实现图像旋转。该函数可以将原始图像按指定角度旋转,并将结果保存到新的文件中。
水印是指在图像上添加文字或图片等标识信息的操作。PHP提供了imagestring和imagefttext函数来实现文字水印的添加。这些函数可以将指定的文字添加到图像中,并将结果保存到新的文件中。此外,还可以使用imagecopy函数将一个图像复制到另一个图像的指定位置,从而实现图片水印的添加。
下面是一个使用PHP图像处理函数实现图像调整大小、裁剪、旋转和添加水印的示例代码:
// 调整大小
$srcImage = imagecreatefromjpeg('original.jpg');
$destImage = imagecreatetruecolor(500, 500);
imagecopyresized($destImage, $srcImage, 0, 0, 0, 0, 500, 500, imagesx($srcImage), imagesy($srcImage));
imagejpeg($destImage, 'resized.jpg');
imagedestroy($srcImage);
imagedestroy($destImage);
// 裁剪
$srcImage = imagecreatefromjpeg('original.jpg');
$destImage = imagecreatetruecolor(200, 200);
imagecopyresampled($destImage, $srcImage, 0, 0, 100, 100, 200, 200, 200, 200);
imagejpeg($destImage, 'cropped.jpg');
imagedestroy($srcImage);
imagedestroy($destImage);
// 旋转
$srcImage = imagecreatefromjpeg('original.jpg');
$destImage = imagerotate($srcImage, 45, 0);
imagejpeg($destImage, 'rotated.jpg');
imagedestroy($srcImage);
imagedestroy($destImage);
// 水印
$srcImage = imagecreatefromjpeg('original.jpg');
$watermarkImage = imagecreatefrompng('watermark.png');
imagecopy($srcImage, $watermarkImage, 0, 0, 0, 0, imagesx($watermarkImage), imagesy($watermarkImage));
imagejpeg($srcImage, 'watermarked.jpg');
imagedestroy($srcImage);
imagedestroy($watermarkImage);
以上示例代码演示了如何使用PHP图像处理函数对图像进行调整大小、裁剪、旋转和添加水印等操作。可以根据实际需求修改参数和文件名来适应不同的场景。
