2017-05-09 11 views
0

OriginalbildBildreflexion mit der imagemagick Befehlszeile?

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 

erhalte ich folgende Ausgabe

enter image description here

Aber ich möchte, dass meine Ausgabe wie folgt sein.

enter image description here

Was mache ich falsch? Schlag mich vor.

Zusätzlich: Gibt es eine Möglichkeit, die ich alle in einem Befehl machen kann.

Antwort

1

nicht sicher, was Sie versuchen zu erreichen, aber dies könnte Ihnen den Einstieg:

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


Wenn Sie die Alpha-tailing off wollen, versuchen, eine Formel, die eine Funktion ist von j (der Abstand von der Spitze der Reflexion) und h (die Gesamthöhe der Reflexion).

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 

Wenn Sie den Code wollen auf den tatsächlichen Größen ein bisschen mehr Generika und weniger abhängig sein, könnten Sie die Höhe der Reflexion ändern, 1/4 zu sagen, von der Höhe des ursprünglichen (man beachte den Wechsel von convert zu magick)

magick wolf.jpg -scale 310x496\! \ 
    \(+clone -flip -crop "x%[fx:h/4]+0+0\!" -alpha set -channel A -fx "0.8-(0.6*j)/h" \) -append result.png 
+0

Danke so viel .. – phpnerd

+1

Vergnügen! Ich habe ein kleines Extra hinzugefügt, falls Sie möchten, dass das Alpha nach unten abfällt. –

+0

Ich habe imagemagick in ubuntu installiert. Aber es zeigt magick Befehl nicht gefunden. Warum das? Convert funktioniert gut. – phpnerd

Verwandte Themen