PHP imagick或GD合并数组中的图像
我在谷歌上搜索,但找不到任何解决方案 我需要通过php合并多个png文件。当我像这样声明映像路径时,一切正常:PHP imagick或GD合并数组中的图像,php,arrays,merge,Php,Arrays,Merge,我在谷歌上搜索,但找不到任何解决方案 我需要通过php合并多个png文件。当我像这样声明映像路径时,一切正常: <?php $img1 = new Imagick('face.png'); $img2 = new Imagick('glasses-1.png'); $img1->compositeImage( $img2, imagick::COMPOSITE_DEFAULT, 0, 0 ); $img1->setImageBackgro
<?php
$img1 = new Imagick('face.png');
$img2 = new Imagick('glasses-1.png');
$img1->compositeImage( $img2, imagick::COMPOSITE_DEFAULT, 0, 0 );
$img1->setImageBackgroundColor('transparent');
$img_wynik = $img1->flattenImages();
$img_wynik->setImageFormat('png');
$img_wynik->writeImage( 'avatar.png' );
header('Content-type: image/png');
echo $img_wynik;
?>
然后将我的测试代码更改为
$img2 = new Imagick ($srcImagesPath)
但它总是给我合并的face.png和数组中的最后一个图像
知道如何构建它吗?
$srcImagesPath
是一个数组,因此需要指定它的元素,而不是传递数组本身。我想你想要:
$img2 = new Imagick ($srcImagesPath[0])
或
如果已安装GD库(假设已安装): 完成此操作后,您可以使用以下方法在新图像中创建帧:
imagecopymerge()
我会让你把目的地,来源和坐标排序。。。称之为挑战;)
从这里开始,您只需使用imagepng将合成图像输出到文件:
imagepng($compositedImage, $path_to_filesystem_destination);
直接使用命令将图像输出到浏览器,第二个参数将图像保存到文件。只需在阵列上循环创建新图像,例如使用第一个作为基本图像。foreach工作!谢谢,我需要合并所有图像。此图像将由用户选择,因此我无法声明它们将选择多少。我将从jQuery解析这些信息。我希望你能理解我的纯英语。这不是我需要的。
$image1 = imagefrompng('glasses-1.png');
$image2 = imagefrompng('mouth-1.png');
imagecopymerge()
imagepng($compositedImage, $path_to_filesystem_destination);