我正在尝试使用Imagick php类在照片上复制画布纹理样式效果,如标题'texture'所示:
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);
但我最终得到的是在左上角的源图像上合成的纹理图像。
如何在链接中重新创建效果?
答案 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");