我正在尝试遵循ImageMagick文档中的this“教程”,但是遇到了很多麻烦。我想在Imagick PHP中完成以下ImageMagic命令:
convert -virtual-pixel transparent \
\( $top -matte +distort Affine \
'0.5,511.5 0.5,0.5 0.5,0.5 -87.5,-50 511.5,511.5 87.5,-50' \) \
\( $left -matte +distort Affine \
'511.5,0.5 0.5,0.5 0.5,0.5 -87.5,-50 511.5,511.5 0.5,99.5' \) \
\( $front -matte +distort Affine \
'0.5,0.5 0.5,0.5 0.5,319.5 0.5,99.5 319.5,0.5 87.5,-50.0' \) \
-background black -layers merge +repage \
-bordercolor black -border 5x2 isometric_cube_overlap.png其中包括$top = new Imagick('top.png');、$front = new Imagick('front.png');和$left = new Imagick('left.png');。每个图像都是512x512px的png图像。
我在仿射变换上找到了一些rather lacking documentation,但我不知道$matrix应该是什么,甚至不知道如何使用这个函数。我甚至尝试在实际的ImageMagick命令上运行exec,但是什么也没有发生。我期望转换已经完成并另存为isometric_cube_overlap.png。
我真的需要一些帮助,即使有人能给我指出正确的方向。谢谢!
发布于 2012-07-17 20:28:50
当然,您可以这样运行命令吗?
<?php
$cmd = " convert -virtual-pixel transparent \
\( $top -matte +distort Affine \
'0.5,511.5 0.5,0.5 0.5,0.5 -87.5,-50 511.5,511.5 87.5,-50' \) \
\( $left -matte +distort Affine \
'511.5,0.5 0.5,0.5 0.5,0.5 -87.5,-50 511.5,511.5 0.5,99.5' \) \
\( $front -matte +distort Affine \
'0.5,0.5 0.5,0.5 0.5,319.5 0.5,99.5 319.5,0.5 87.5,-50.0' \) \
-background black -layers merge +repage \
-bordercolor black -border 5x2 isometric_cube_overlap.png "." -distort ScaleRotateTranslate \"28,24 .4,.8 -110 50,120 \" ";
exec("$cmd");
?> 反斜杠在我看来也不对劲。我打赌该命令的输出也会失败?
https://stackoverflow.com/questions/11484332
复制相似问题