我想知道我是否可以使用imagemagick来生成像这样的结果图像
我的初始图片将是这样的
我可以创建像这样放在背景中的暗图像 -
convert -brightness-contrast -20x10 GARDENS-ILLUSTRATED_JAN-14.jpg out_lighter2.jpg
但我不知道如何将它们排成一行,然后产生反射。
答案 0 :(得分:2)
我有一些接近的东西,但没有更多的时间,所以也许你可以摆弄它并得到你想要的东西:
#!/bin/bash
input=input.png
# Calculate width and height
w=$(convert $input -ping -format "%w" info:)
h=$(convert $input -ping -format "%h" info:)
# Calculate how much to chop off bottom and height of reflection
chop=$(echo $h*60/100|bc)
refl=$(echo $h*20/100|bc)
convert $input -alpha on \
\( +clone -flip -size ${w}x${refl} gradient:gray40-black -alpha off -compose CopyOpacity -composite \) \
-append -background white -compose Over -flatten -gravity South -chop 0x${chop} output1.png
# Darken and reduce for second layer
convert output1.png -brightness-contrast -25x8 -resize 90% output2.png
# Darken and reduce for third layer
convert output2.png -brightness-contrast -25x8 -resize 90% output3.png
# Make big new output canvas
neww=$(echo $w*1.6|bc)
newh=$(echo $h*1.6|bc)
# Splat images onto it with offsets
convert -size ${neww}x${newh} xc:transparent -page +0+80 output3.png \
-page +40+40 output2.png \
-page +80+0 output1.png -flatten output.png
我的基本想法是先在output1.png
生成明亮的最前面的图像,然后变暗并将其缩小为output2.png
并再次变为output3.png
。然后将它们全部合并到output.png
并稍微偏移。