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');
}
本文参考的主要文章:
每一次的结束都意味着新的开始