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

图片处理函数介绍:PHP中常用的10个函数详解

发布时间:2023-06-26 07:23:16

在网站开发中,图片处理是常用的功能之一,而PHP中提供了一系列的函数可以帮助我们完成图片处理的任务,下面是PHP中常用的10个图片处理函数的详细介绍。

1. imagecreatefromjpeg

函数说明:从JPEG文件或URL创建一个新的图片,返回一个图像标识符。

参数说明:

- $filename:所要打开的文件名。

- 返回值:成功时,该函数返回一个图像标识符。

示例用法:

<?php
$im = imagecreatefromjpeg("test.jpg");
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
?>

2. imagecreatefrompng

函数说明:从PNG文件或URL创建一个新的图片,返回一个图像标识符。

参数说明:

- $filename:所要打开的文件名。

- 返回值:成功时,该函数返回一个图像标识符。

示例用法:

<?php
$im = imagecreatefrompng("test.png");
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>

3. imagecreatefromgif

函数说明:从GIF文件或URL创建一个新的图片,返回一个图像标识符。

参数说明:

- $filename:所要打开的文件名。

- 返回值:成功时,该函数返回一个图像标识符。

示例用法:

<?php
$im = imagecreatefromgif("test.gif");
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>

4. imagecopy

函数说明:将一副图像中的一部分复制到另一副图像中。

参数说明:

- $dst_im:复制到的目标图像。

- $src_im:复制的原图像。

- $dst_x:目标矩形区域左上角的 X 坐标。

- $dst_y:目标矩形区域左上角的 Y 坐标。

- $src_x:源矩形区域左上角的 X 坐标。

- $src_y:源矩形区域左上角的 Y 坐标。

- $src_w:源矩形区域的宽度。

- $src_h:源矩形区域的高度。

示例用法:

<?php
$src_im = imagecreatefromjpeg("test.jpg");
$dst_im = imagecreatetruecolor(100, 100);
imagecopy($dst_im, $src_im, 0, 0, 20, 20, 50, 50);
header('Content-Type: image/jpeg');
imagejpeg($dst_im);
imagedestroy($src_im);
imagedestroy($dst_im);
?>

5. imagecopyresampled

函数说明:复制并调整图像大小,以便被复制的部分可以放入目标图像。

参数说明:

- $dst_im:复制到的目标图像。

- $src_im:复制的原图像。

- $dst_x:目标矩形区域左上角的 X 坐标。

- $dst_y:目标矩形区域左上角的 Y 坐标。

- $src_x:源矩形区域左上角的 X 坐标。

- $src_y:源矩形区域左上角的 Y 坐标。

- $dst_w:目标宽度。

- $dst_h:目标高度。

- $src_w:源矩形区域的宽度。

- $src_h:源矩形区域的高度。

示例用法:

<?php
$src_im = imagecreatefromjpeg("test.jpg");
$dst_im = imagecreatetruecolor(200, 200);
imagecopyresampled($dst_im, $src_im, 0, 0, 20, 20, 100, 100, 50, 50);
header('Content-Type: image/jpeg');
imagejpeg($dst_im);
imagedestroy($src_im);
imagedestroy($dst_im);
?>

6. imagecrop

函数说明:根据给定的矩形剪裁图像。

参数说明:

- $src_im:复制到的目标图像。

- $rect:剪裁矩形数组(left, top, width, height)。

- 返回值:成功时,该函数返回一个图像标识符。

示例用法:

<?php
$src_im = imagecreatefromjpeg("test.jpg");
$dst_im = imagecrop($src_im, ['x' => 20, 'y' => 20, 'width' => 50, 'height' => 50]);
header('Content-Type: image/jpeg');
imagejpeg($dst_im);
imagedestroy($src_im);
imagedestroy($dst_im);
?>

7. imagerotate

函数说明:旋转一副图像。

参数说明:

- $src_im:旋转的源图像标识符。

- $angle:旋转的角度(顺时针)。

- $bgcolor:旋转后的背景色。

- $ignore_transparent:是否忽略透明色。

- 返回值:成功时,该函数返回一个图像标识符。

示例用法:

<?php
$src_im = imagecreatefromjpeg("test.jpg");
$dst_im = imagerotate($src_im, 45, 0);
header('Content-Type: image/jpeg');
imagejpeg($dst_im);
imagedestroy($src_im);
imagedestroy($dst_im);
?>

8. imageflip

函数说明:将图像水平或垂直翻转。

参数说明:

- $src_im:翻转的源图像标识符。

- $mode:翻转的模式(IMG_FLIP_HORIZONTAL:水平翻转;IMG_FLIP_VERTICAL:垂直翻转;IMG_FLIP_BOTH:水平和垂直翻转)。

示例用法:

<?php
$im = imagecreatefromjpeg("test.jpg");
imageflip($im, IMG_FLIP_VERTICAL);
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
?>

9. imagescale

函数说明:按照给定的比例缩放图像。

参数说明:

- $src_im:缩放的源图像标识符。

- $width:缩放后的宽度。

- $height:缩放后的高度。

- $mode:缩放模式(IMG_NEAREST_NEIGHBOUR:最近邻算法;IMG_BILINEAR_FIXED:双线性算法;IMG_BICUBIC:三次卷积算法)。

示例用法:

<?php
$src_im = imagecreatefromjpeg("test.jpg");
$dst_im = imagescale($src_im, 200, 200, IMG_BICUBIC);
header('Content-Type: image/jpeg');
imagejpeg($dst_im);
imagedestroy($src_im);
imagedestroy($dst_im);
?>

10. imagefilter

函数说明:对图像应用一个或多个滤镜。

参数说明:

- $src_im:要过滤的源图像标识符。

- $filtertype:滤镜类型(IMG_FILTER_NEGATE:反色;IMG_FILTER_GRAYSCALE:灰度化;IMG_FILTER_BRIGHTNESS:亮度;IMG_FILTER_CONTRAST:对比度;IMG_FILTER_COLORIZE:色调;IMG_FILTER_EDGEDETECT:边缘检测;IMG_FILTER_EMBOSS:浮雕;IMG_FILTER_GAUSSIAN_BLUR:高斯模糊;IMG_FILTER_SELECTIVE_BLUR:选择性模糊;IMG_FILTER_MEAN_REMOVAL:平均移除;IMG_FILTER_SMOOTH:平滑;IMG_FILTER_PIXELATE:像素化)。

- $arg1:滤镜参数1。

- $arg2:滤镜参数2。

- $arg3:滤镜参数3。

- $arg4:滤镜参数4。

示例用法:

<?php
$src_im = imagecreatefromjpeg("test.jpg");
imagefilter($src_im, IMG_FILTER_GRAYSCALE);
header('Content-Type: image/jpeg');
imagejpeg($src_im);
imagedestroy($src_im);
?>

综上所述,这些是PHP中常用的10个图片处理函数,开发者可以