图片处理函数介绍:PHP中常用的10个函数详解
在网站开发中,图片处理是常用的功能之一,而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个图片处理函数,开发者可以
