2016-07-05 9 views
1

Ich möchte ein Logo und etwas Text zu einem Bild hinzufügen.Chain 2 imagemagick commands

Ich kann dies durch die folgenden erreichen:

// Add logo 
composite -geometry +10+20 logo.png input.jpg \ 
    output_with_logo.jpg 

// Add text 
convert output_with_logo.jpg -font Arial -pointsize 20 \ 
    -draw "fill black text 20,50 'Test'" \ 
    final.jpg 

aber ich frage mich, wenn ich Kette diese 2 Befehle zusammen, so kann ich auf einmal von der gleichen Quelldatei arbeiten, statt inszenierten Versionen des Sparens aus des Bildes.

Ich habe versucht:

convert -font Arial -pointsize 20 \ 
    -draw "fill black text 20,50 'Test'" \ 
    -composite -geometry +10+20 input.jpg logo.png \ 
    final.jpg 

Doch diese 2 "Test" Saiten auf dem Bild erzeugt

+1

Was für eine * "lustige" * Frage, Green Giant! –

Antwort

1

So:

convert input.jpg logo.jpg -geometry +10+20 -composite -font Arial -pointsize 20 -draw "fill black text 20,50 'Test'" final.jpg 

Anstatt verwenden Sie den Befehl composite die ‚gewonnen t können Sie Text hinzufügen, verwenden Sie den Befehl convert und seinen Operator -composite, der das Gleiche tut. Also, ich sage:

composite A.jpg B.jpg result.jpg = convert A.jpg B.jpg -composite result.jpg 

Dann, sobald Sie das Compositing getan haben, können Sie den Text später hinzufügen - genau so, wie Sie es hatte.

+0

Macht Sinn, vielen Dank! – Titan