1

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

http://www.imagemagick.org/Usage/photos/

使用命令行可以这样实现:

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);

但我最终得到的只是在左上角的源图像上合成的纹理图像。

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

4

1 回答 1

1

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

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

exec("composite texture_fabric.gif pagoda_sm.jpg -tile -compose Hardlight photo_texture.jpg"); 
于 2012-05-09T11:48:16.123 回答