使用imagemagick命令行进行图像反射?

时间:2017-05-09 06:31:33

标签: command-line imagemagick imagemagick-convert

原始图片

enter image description here

convert image.jpg -scale 310x496\! scaled.png
convert scaled.png +clone -flip -crop 310x150 -compose Dst -composite  out/shadow.png
convert -size 310x150 -alpha set gradient:rgba\(255,0,255,0.6\)-rgba\(255,255,0,0.50\) out/grad.png
convert out/shadow.png out/grad.png -compose Dst_Out  -composite out/shadow_gradiented.png
convert shadow_gradiented.png out/shadowed.png -append out/final.png

我收到了以下输出

enter image description here

但我希望我的输出如下。

enter image description here

我做错了什么?建议我。

其他 有什么方法可以在一个命令中完成所有操作。

1 个答案:

答案 0 :(得分:1)

不确定您要实现的目标,但这可能会让您开始:

convert wolf.jpg -scale 310x496\! \
   \( +clone -flip -crop x150+0+0\! -alpha set -channel A -fx "0.6" \) -append result.png

enter image description here

如果你想要关闭alpha尾部,请尝试一个公式,该公式是j(距反射顶部的距离)和h(反射的总高度)的函数。 / p>

convert wolf.jpg -scale 310x496\! \
   \( +clone -flip -crop x150+0+0\! -alpha set -channel A -fx "0.8-(0.6*j)/h" \) -append result.png

如果您希望代码更通用,并且更少依赖于实际尺寸,您可以将反射的高度更改为原始高度(例如1/4)(请注意{{的变化) 1}}到convert

magick