2016-06-17 2 views
1

Ich muss ein Label auf einem PNG-Bild hinzufügen, auch ich muss eine Befehlsersetzung durchführen, um eine Nummer aus einer Datei zu bekommen.Hinzufügen von Label zu bestehenden PNG-Bild, mit Hilfe von konvertieren

ich etwas wie

convert image.png -background red label:'input + `grep max numbers.txt | head -n 1 | awk '{print 2}'`' -gravity Center -append 

aber ich habe ein sehr begrenztes Verständnis von Konvertiten, die ich heruntergeladen habe es nur so konnte ich tun, um diesen einen Befehl

Dankes-

+0

zeigen Bitte das Format 'numbers.txt' und erklären, was Sie erreichen wollen. Sie brauchen fast sicher nicht 'grep' und' head' und 'awk' - nur' awk' wird alles tun - was auch immer es ist. –

Antwort

1

ich Sie vermuten, brauche so etwas:

convert -size 100x100 xc:red label:"input + $(awk '/max/{print $2; exit}' numbers.txt)" -gravity center -append result.png 

enter image description here

Sie müssen den label: Teil in doppelte (anstatt einzelne) Anführungszeichen setzen, damit die Shell erweitert und ausgeführt werden kann. Sie benötigen nicht grep und head und awk. Awk allein ist in der Lage, das erste Vorkommen von max zu finden und dann das zweite Feld zu drucken und zu beenden, bevor irgendwelche anderen Instanzen gefunden werden.

Ich gehe davon aus numbers.txt etwa wie folgt aussieht:

a 34 
max 32 
max 33 
+0

Wenn ich versucht habe, dass ich gerade habe konvertieren: Delegate-Bibliothek-Unterstützung nicht eingebaut '/ Library/Fonts// Arial.ttf' (Freetype) @ Warnung/Annotate.c/RenderFreetype/1740. ein Bündel. Auch ich denke, der rote Teil ist nicht notwendig, ich habe es nur aufgenommen, weil ich Convert nicht wirklich verstanden habe. Ich möchte im Grunde nur ein PNG-Bild machen und ein Wort schreiben, gefolgt von einer Zahl. Auch numbers.txt ist im Grunde wie eine HTML-Code-Datei. Es gibt keine Struktur, die aussieht wie eine 34 max 32 ....... es ist nur das einzige Mal, dass max kommt, gefolgt von der Zahl, die ich begehre. Ist das sinnvoll? – Jacob

+0

Es scheint seltsam, dass Sie diese Nachricht bekommen würden. Bitte versuchen Sie 'convert label:" test "a.png' –

+0

Haben Sie das. convert: Unterstützung der Delegate-Bibliothek nicht integriert '/Library/Fonts//Arial.ttf' (Freetype) @ warning/annotate.c/RenderFreetype/1740. Convert: Unterstützung der Delegate-Bibliothek nicht integriert '/Library/Fonts//Arial.ttf' (Freetype) @ warning/annotate.c/RenderFreetype/1740. konvertieren: keine Bilder definiert 'a.png '@ Fehler/convert.c/ConvertImageCommand/3235 bedeutet das, es ist nicht richtig installiert oder so etwas? – Jacob

Verwandte Themen