2017-10-15 8 views
0

Ich arbeite am Auffüllen eines Textes auf einem Kindle Cover. Zur Zeit scheint convertcaption: zu sein, der Anfang des Textes zu sein, den ich gerendert habe. Der vorliegende Aufruf lautet:Warum wird "caption:" in die gerenderte Zeichenfolge aufgenommen, anstatt das caption-like-Verhalten auszulösen?

convert kindle-cover.jpg -font "Georgia" -pointsize 150 -size 320x -gravity South -annotate +0+100 caption:'C.J.S. Hayward' workbench.jpg 

Der Text ist, wie gewünscht, in der Nähe der Unterseite des Bildes zentriert ist, und die Schriftgröße ist nicht perfekt, auch nicht. Ich habe jedoch mehrere Aufrufe wie caption:, -caption, usw. versucht, und ich habe keine Untertitel-ähnliches Verhalten.

Obwohl nicht relevant für den Namen des Autors auf der Titelseite, möchte ich Titel erlauben, die graziöses Untertitel-ähnliches Verhalten zeigen, einschließlich Soft-Wrapping und dynamischer Größenanpassung, wenn der eingegebene Titel umgebrochen werden muss.

Was kann/sollte ich anders machen, um Untertitel statt Etikett zu erhalten?

Danke,

--UPDATE-- @Bonzo schlug ich meine ImageMagick-Version zur Verfügung stellen. Die Version ist:

Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC 
Features: DPC Modules OpenMP 
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib 

Der Computer läuft die aktuelle Version von Linux Mint.

Sample image

+0

tun könnte, sollten Sie die Tag-Beschreibungen lesen. – EJoshuaS

+0

Ich glaube, du musst ein Bild mit Bildunterschrift machen und dann dieses Bild zu deinem Cover hinzufügen. Wenn Sie Ihre IM-Version bestätigen möchten, bin ich sicher, dass jemand mit Ihrem Problem helfen kann. – Bonzo

+0

@EJoshuaS Ich habe den Großteil von http://www.imagemagick.org/Usage/text/#caption gelesen, bis hin zu den experimentellen Teilen. Wenn Sie mir nur sagen, dass ich die Dokumentation lesen soll, würde ich mich freuen, wenn Sie einen Link zur Verfügung stellen könnten. (Ich habe gerade eine 'convert --help' ausgeführt und einen anderen Ansatz gesehen, es ausprobiert und festgestellt, dass es auch nicht funktioniert hat). – JonathanHayward

Antwort

1

Sie sollten nicht beide -annotate und Beschriftung verwenden: in der gleichen Befehlszeile in ImageMagick. Versuchen Sie es mit dem einen oder anderen. Zum Beispiel gibt es 3 verschiedene Methoden: -annotate, label: und caption: mit einer kleineren Schriftgröße. - Schreib direkt auf das Bild. Sowohl label: als auch caption: erstellen Sie ein eigenes separates Bild, das auf Ihr Originalbild zusammengesetzt werden muss.

convert kindle-cover.jpg -font "Georgia" -pointsize 72 -gravity south -annotate +0+100 'C.J.S. Hayward' workbench.jpg 

convert kindle-cover.jpg \(-size 320x -background none -font "Georgia" -gravity south label:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 

convert kindle-cover.jpg \(-size 320x -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 


EDIT: Diese wird wickeln, nicht aber die ersten beiden. Sie müssen also die Größe 320x auf die gewünschte Breite einstellen. Wie Bonzo sagte, müssten Sie in IM 6 die Größe des Eingabebildes testen und einen Prozentsatz angeben, den Sie verwenden möchten. Zum Beispiel müssten Sie es so in IM 6 ausführen. Nehmen wir an, Sie möchten, dass die Textbreite 1/3 Ihrer Bildbreite beträgt. In Unix-Syntax, würden Sie:

ww=`convert kindle-cover.jpg -format "%[fx:w/3]" info:` 

convert kindle-cover.jpg \(-size ${ww}x -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 


In IM 7, Sie

magick kindle-cover.jpg \(-size "%[fx:w/3]x" -pointsize 72 -background none -font "Georgia" -gravity south caption:'C.J.S. Hayward' \) -gravity south -geometry +0+100 -compose over -composite workbench.jpg 
+1

Um Ihre Dimension dynamisch in V6 zu erhalten, müssten Sie etwas wie das Format verwenden und es in einer Variablen speichern. Während in V7 alles in einer Zeile möglich war. – Bonzo

Verwandte Themen