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

PHP图像处理函数:图片缩放、水印打印、格式转换等

发布时间:2023-07-03 05:32:35

PHP提供了丰富的图像处理函数,可以用于对图片进行缩放、水印打印、格式转换等操作。下面将介绍几个常用的图像处理函数。

1. 图片缩放

缩放图片可以使用imagecopyresampled()函数,该函数可以将指定区域的图像复制到目标图像中,并同时进行缩放操作。具体使用方法如下:

$sourceImage = imagecreatefromjpeg('source.jpg');
$targetWidth = 200;
$targetHeight = 200;
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, imagesx($sourceImage), imagesy($sourceImage));
imagejpeg($targetImage, 'target.jpg');
imagedestroy($sourceImage);
imagedestroy($targetImage);

上述代码中,首先使用imagecreatefromjpeg()函数将原始图片加载到内存中,然后创建一个新的目标图像,指定目标图像的宽度和高度。接着调用imagecopyresampled()函数将原图复制到目标图像中,并指定需要缩放的区域的尺寸。最后使用imagejpeg()函数将目标图像保存为JPEG格式的文件,并调用imagedestroy()函数释放内存。

2. 水印打印

给图片添加水印可以使用imagestring()函数,在图片上添加文字水印。具体使用方法如下:

$sourceImage = imagecreatefromjpeg('source.jpg');
$text = 'Watermark';
$fontFile = 'arial.ttf';
$fontSize = 20;
$textColor = imagecolorallocate($sourceImage, 255, 255, 255); // 设置文字颜色为白色
imagettftext($sourceImage, $fontSize, 0, 10, 10, $textColor, $fontFile, $text);
imagejpeg($sourceImage, 'target.jpg');
imagedestroy($sourceImage);

上述代码中,首先使用imagecreatefromjpeg()函数将原始图片加载到内存中,然后指定水印文字、字体文件、字体大小和颜色。接着调用imagettftext()函数将文字水印打印在图片上,并指定水印的位置。最后使用imagejpeg()函数将带有水印的图片保存为JPEG格式的文件,并调用imagedestroy()函数释放内存。

3. 格式转换

将图片转换为其他格式可以使用imagecreatefromjpeg()函数将原始图片加载到内存中,然后使用imagepng()imagegif()imagewbmp()等函数将图像以不同格式保存。具体使用方法如下:

$sourceImage = imagecreatefromjpeg('source.jpg');
imagepng($sourceImage, 'target.png');
imagedestroy($sourceImage);

上述代码中,首先使用imagecreatefromjpeg()函数将原始图片加载到内存中,然后调用imagepng()函数将图像以PNG格式保存为文件。最后调用imagedestroy()函数释放内存。

以上是几个常用的PHP图像处理函数,开发者可以根据具体需求选择合适的函数进行图像处理操作。