Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Imagick创建画布效果?_Php_Imagemagick_Imagick - Fatal编程技术网

Php 如何使用Imagick创建画布效果?

Php 如何使用Imagick创建画布效果?,php,imagemagick,imagick,Php,Imagemagick,Imagick,我尝试使用Imagick php类在照片上复制画布纹理样式效果,如标题“纹理”下所示: 使用命令行可以实现如下操作: composite texture_fabric.gif pagoda_sm.jpg \ -tile -compose Hardlight photo_texture.jpg 然而,我正在为ImageMagick使用'Imagick'php类,我似乎不知道如何平铺纹理 我试过: $im = new Imagick("source.jpg")

我尝试使用Imagick php类在照片上复制画布纹理样式效果,如标题“纹理”下所示:

使用命令行可以实现如下操作:

composite texture_fabric.gif  pagoda_sm.jpg \
            -tile   -compose Hardlight    photo_texture.jpg
然而,我正在为ImageMagick使用'Imagick'php类,我似乎不知道如何平铺纹理

我试过:

$im = new Imagick("source.jpg")
$img2 = new Imagick("texture.gif");
$im->compositeImage($img2, imagick::COMPOSITE_HARDLIGHT, 0, 0);
但我最后得到的只是在左上角的源图像上合成的纹理图像


如何在链接中重新创建效果?

查看imagick php 您可能无法使用Imagick做您想做的事情,因为它的选项有限。 一点横向思考: 制作一张与图像大小相同的画布,并在画布上平铺纹理,然后将其合成

您可以使用(未经测试的):


看看这里的imagick php 您可能无法使用Imagick做您想做的事情,因为它的选项有限。 一点横向思考: 制作一张与图像大小相同的画布,并在画布上平铺纹理,然后将其合成

您可以使用(未经测试的):


简单的。。。我真的希望有一个内置的功能,但正如你所说,它似乎没有。我使用了您的第一个解决方案,因为我希望尽可能地留在Imagick内。非常感谢!简单的。。。我真的希望有一个内置的功能,但正如你所说,它似乎没有。我使用了您的第一个解决方案,因为我希望尽可能地留在Imagick内。非常感谢!
exec("composite texture_fabric.gif pagoda_sm.jpg -tile -compose Hardlight photo_texture.jpg");