李涛自留地
回到顶部
首页 > php学习 > PHP如何实现图像剪裁合并?PHP实现图像剪裁合并的实例代码

PHP如何实现图像剪裁合并?PHP实现图像剪裁合并的实例代码

文章目录

PHP能不能实现对一张图像的剪裁,然后在和别的图片合并成一张图片呢?是可以的,我们常见的网站中的水印就是将一张水印图片和上传的完整图片将两张图片合并到一起,就完成了图片水印功能,那么PHP中如何实现图像剪裁合并呢?下面李涛自留地将从PHP实现图像剪裁合并的函数imagecopyresized()用法以及一个PHP图像剪裁合并的实例代码来记载本文。

一、imagecopyresized()函数用法

1、imagecopyresized()函数语法格式

imagecopyresized(
    resource $dst_image,
    resource $src_image,
    int $dst_x,
    int $dst_y,
    int $src_x,
    int $src_y,
    int $dst_w,
    int $dst_h,
    int $src_w,
    int $src_h
): bool

2、imagecopyresized()函数作用

将一幅图像中的一块矩形区域拷贝到另一个图像中,作用就是把一张图像中的某一部分进行剪切,然后再与另外一张图片进行合并。

3、imagecopyresized()函数参数说明:

(1)、dst_image:目标图象资源;

(2)、src_image:源图象资源;

(3)、dst_x:目标图象开始的x位置;

(4)、dst_y:目标图象开始的y位置 ;

(5)、src_x:源图象开始的x位置;

(6)、src_y:源图象开始的y位置;

(7)、dst_w:目标图片的宽;

(8)、dst_h:目标图片的高;

(9)、src_w:源图象的宽度;

(10)、src_h:源图象的高度。

(11)、imagecopyresized()函数成功时返回true,或者在失败时返回false。

二、PHP如何实现对图像的剪裁和合并

通过上面对imagecopyresized()函数使用的介绍,相信只要学会了如何使用PHP中的imagecopyresized()函数,那么就可以实现对图像的剪裁和合并,我们需要明白imagecopyresized()函数中的参数,所以我们要做好以下工作:

1、首先要准备好两张图片

就是imagecopyresized()函数语法中的目标图片和源图片,源图片就是我们需要剪切的图片,目标图片就是我们最终需要将源图中剪切的部分与这张图片合并。

2、计算好目标图片及源图剪切的位置

imagecopyresized()函数中所说的dst_x、src_x参数和dst_y、src_y参数,简单的理解就是我们要从这张图片的X轴和Y轴的什么位置开始截取,我们可以首先记载好两张原始图片的宽度和高度,然后再根据自己的需要进行测量或者估算。

3、设置好目标图片及源图片的宽、高

设置好最后的目标图片及源图片的宽度和高度,就是最终合成在图片中的宽度和高度。

做好以上这三个步骤,基本上就可以使用PHP实现对图像的剪裁和合并,其实以上这些参数不太明白也没太大关系,可以直接在实例中进行摸索,然后再慢慢调整imagecopyresized()函数中的相关参数,就可以做出自己所需要的效果了。

三、PHP图像剪裁合并的实例代码

//在浏览器中声明文件类型
header('content-type:image/jpeg'); 
//打开目标图片;
$old_pic = imagecreatefromjpeg('sm.jpg');
//打开源图片;
$cut_pic = imagecreatefromjpeg('lh.jpg');
//拷贝源图片的到目标图片中;
imagecopyresized($old_pic, $cut_pic, 750,300,330,120,500,500,300,300);
//保存图片;
imagejpeg($old_pic); 
//输出图片;
echo "<img src='$old_pic'/>";
//销毁目标图片和源图片,释放内存;
imagedestroy($old_pic);
imagedestroy($cut_pic );

$old_pic变量中的原始图(目标图片):

PHP如何实现图像剪裁合并?PHP实现图像剪裁合并的实例代码

尺寸为:宽度1920像素,高度为1080像素。

$cut_pic变量中的原始图(源图片):

PHP如何实现图像剪裁合并?PHP实现图像剪裁合并的实例代码

图片尺寸为:宽度1000像素,高度为665像素。

根据两张图片的宽高尺寸,大致估算出了相关为坐标位置,最终将老虎头,放在了目标图片的居中位置。

最终实现的效果图:

PHP如何实现图像剪裁合并?PHP实现图像剪裁合并的实例代码

以上就是本次使用PHP实现图像剪裁合并的全文,本文从imagecopyresized()函数用法、PHP如何实现对图像的剪裁和合并以及最后通过一个PHP图像剪裁合并的实例代码记载了PHP图像的剪裁合并,希望阅读完本文后会对您有所帮助。

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。