PHP把一张图片作为背景和另一张图片合成新图片

PHP用GD库可以把两张图片的其中一张图片作为背景图片,和两张图片合成一张图片。实现代码如下:

      public function createImage($filePath=''){

            $path_1 = './image/background.jpg'; //背景图片
            $path_2 = $filePath;
            $image_1 = imagecreatefromjpeg($path_1);
            $image_2 = imagecreatefromjpeg($path_2);
            $image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1));
            $color = imagecolorallocate($image_3, 255, 255, 255);

            //获取图片的属性,第一个宽度,第二个高度,类型1=>gif,2=>jpeg,3=>png
            list($width,$height,$type) = getimagesize($path_1);
            //设置居中图片的X轴坐标位置
            $x = ($width)/3.1;
            //设置居中图片的Y轴坐标位置
            $y = ($height)/3.1;

            imagefill($image_3, 0, 0, $color);
            imageColorTransparent($image_3, $color);
            imagecopyresampled($image_3,$image_1,0,0,0,0,imagesx($image_1),
            imagesy($image_1),imagesx($image_1),imagesy($image_1));
            //图片在背景上的位置 $x横坐标,$y纵坐标
            imagecopymerge($image_3,$image_2, $x,$y,0,0,imagesx($image_2),imagesy($image_2), 100);
            //将画布保存到指定的文件
            imagejpeg($image_3, './image/new.jpg');

        }

本文参考的主要文章:

php合并图 把一张图做另一张图的背景图

posted @ 2021-03-16 16:47  逍遥闲人  阅读(743)  评论(0编辑  收藏  举报