2012-05-09 71 views
1

我试图复制上使用Imagick PHP类照片的帆布质地风格效果如下标题下的“纹理”看到:如何用Imagick创建画布效果?

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

但所有我结束了在左上角合成的源图像的纹理图像。

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

回答

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"); 
+0

简单......我真的很希望有一个内置的功能这一点,但正如你所说,它似乎没有。我使用你的第一个解决方案,因为我想尽可能地保留在Imagick中。非常感谢! – gordyr