konvertieren: non-conforming drawing primitive definition `text'
ImageMagick liefert der folgende Befehl als ein Beispiel, wie text zeichnen ein Bild:
convert -size 250x50 xc:none -box white -pointsize 20 -gravity center \
-draw 'text 0,0 " '\'' \" $ \\ " ' \
-trim +repage text_special_sd.gif
Wenn ich diesen code ausführen, bekomme ich diesen Fehler:
konvertieren: non-conforming drawing primitive definition `text' @ error/zeichnen.c/DrawImage/3192.
Den Befehl, den ich eigentlich ausführen möchten, ist die folgende, aber es gibt den gleichen Fehler:
convert /tmp/tmpGRaZKy -fill none -stroke chartreuse -strokewidth 2 \
-draw "rectangle 221,155,256,191" -pointsize 17 -fill chartreuse \
-draw "text 20%,20% 'Score:0.84'" /Users/rose/home/video-object-detection/data/imagenet/n07840804/annotated/lbzhyvH74w8_10000/10000_99.jpg
Vorschläge in diesem SO ein post nicht das problem zu beheben.
Ich bin auf Mac. Die Antworten, die ich auf dem web finden in der Regel empfehlen, versuchen eine andere Kombination von Einzel-und doppelte Anführungszeichen um die Aussage nach -zeichnen, aber ich denke, ich habe versucht 'em all.
Hier ist die Ausgabe von convert -version
:
Version: ImageMagick 6.8.9-7 Q16 x86_64 2014-08-31 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates: bzlib freetype jng jpeg ltdl lzma png xml zlib
Hier ist die Ausgabe von convert -list configure
:
Path: /usr/local/Cellar/imagemagick/6.8.9-7/lib/ImageMagick//config-Q16/configure.xml
Name Value
-------------------------------------------------------------------------------
CC clang
CFLAGS -I/usr/local/Cellar/freetype/2.5.3_1/include/freetype2 -g -O2 -Wall -march=core2 -fexceptions -D_FORTIFY_SOURCE=0 -D_THREAD_SAFE -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
CODER_PATH /usr/local/Cellar/imagemagick/6.8.9-7/lib/ImageMagick/modules-Q16/coders
CONFIGURE ./configure '--disable-osx-universal-binary' '--prefix=/usr/local/Cellar/imagemagick/6.8.9-7' '--disable-dependency-tracking' '--enable-shared' '--disable-static' '--without-pango' '--with-modules' '--disable-openmp' '--without-gslib' '--without-perl' '--with-gs-font-dir=/usr/local/share/ghostscript/fonts' '--without-openjp2' '--without-x' '--with-freetype=yes' 'CC=clang' 'CXX=clang++'
CONFIGURE_PATH /usr/local/Cellar/imagemagick/6.8.9-7/etc/ImageMagick-6/
COPYRIGHT Copyright (C) 1999-2014 ImageMagick Studio LLC
CPPFLAGS -I/usr/local/Cellar/imagemagick/6.8.9-7/include/ImageMagick-6
CXX clang++
CXXFLAGS -g -O2 -D_THREAD_SAFE -pthread
DEFS -DHAVE_CONFIG_H
DELEGATES bzlib mpeg freetype jng jpeg lzma png xml zlib
DISTCHECK_CONFIG_FLAGS 'CC=clang' 'CXX=clang++' --disable-deprecated --with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-gslib=no --with-fontpath= --with-gs-font-dir=/usr/local/share/ghostscript/fonts --with-gvc=no --with-openjp2=no --with-pango=no --with-rsvg=no --with-wmf=no --with-perl=no
DOCUMENTATION_PATH /usr/local/Cellar/imagemagick/6.8.9-7/share/doc/ImageMagick-6
EXEC-PREFIX /usr/local/Cellar/imagemagick/6.8.9-7
EXECUTABLE_PATH /usr/local/Cellar/imagemagick/6.8.9-7/bin
FEATURES DPC Modules
FILTER_PATH /usr/local/Cellar/imagemagick/6.8.9-7/lib/ImageMagick/modules-Q16/filters
HOST x86_64-apple-darwin13.3.0
INCLUDE_PATH /usr/local/Cellar/imagemagick/6.8.9-7/include/ImageMagick-6
LDFLAGS -L/usr/local/Cellar/imagemagick/6.8.9-7/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib
LIB_VERSION 0x689
LIB_VERSION_NUMBER 6,8,9,7
LIBRARY_PATH /usr/local/Cellar/imagemagick/6.8.9-7/lib/ImageMagick
LIBS -L/usr/local/Cellar/freetype/2.5.3_1/lib -lfreetype -L/usr/local/Cellar/xz/5.0.5/lib -llzma -lbz2 -lz -lltdl -lm
NAME ImageMagick
PCFLAGS -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
PREFIX /usr/local/Cellar/imagemagick/6.8.9-7
QuantumDepth 16
RELEASE_DATE 2014-08-31
SHARE_PATH /usr/local/Cellar/imagemagick/6.8.9-7/share/ImageMagick-6
SHAREARCH_PATH /usr/local/Cellar/imagemagick/6.8.9-7/lib/ImageMagick/config-Q16
SVN_REVISION 16331
TARGET_CPU x86_64
TARGET_OS darwin13.3.0
TARGET_VENDOR apple
VERSION 6.8.9
WEBSITE http://www.imagemagick.org
Path: [built-in]
Name Value
-------------------------------------------------------------------------------
FEATURES
NAME ImageMagick
QuantumDepth 16
UPDATE
~ convert \
> -debug draw \
> -size 50x50 xc:none -gravity center -draw 'text 0,0 "A B C" ' 1.png
Drucke:
2014-12-06T14:52:40-08:00 0:00.150 0.010u 6.8.9 Draw convert[39332]: draw.c/DrawImage/1784/Draw
begin draw-image
2014-12-06T14:52:40-08:00 0:00.160 0.010u 6.8.9 Draw convert[39332]: draw.c/DrawImage/3129/Draw
text 0,0 "A B C"
2014-12-06T14:52:40-08:00 0:00.160 0.010u 6.8.9 Draw convert[39332]: draw.c/DrawPrimitive/4221/Draw
begin draw-primitive
2014-12-06T14:52:40-08:00 0:00.160 0.010u 6.8.9 Draw convert[39332]: draw.c/DrawPrimitive/4223/Draw
affine: 1 0 0 1 0 0
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1127.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1127.
2014-12-06T14:52:40-08:00 0:00.310 0.040u 6.8.9 Draw convert[39332]: draw.c/DrawPrimitive/4639/Draw
end draw-primitive
2014-12-06T14:52:40-08:00 0:00.310 0.040u 6.8.9 Draw convert[39332]: draw.c/DrawImage/3179/Draw
end draw-image
convert: non-conforming drawing primitive definition `text' @ error/draw.c/DrawImage/3192.
Einen interessanten Teil des Befehls:
convert -debug all -size 50x50 xc:none -gravity center -draw 'text 0,0 "A B C" ' 1.png
ist diese:
2014-12-06T14:57:36-08:00 0:00.100 0.030u 6.8.9 Annotate convert[39441]: annotate.c/GetTypeMetrics/798/Annotate
Metrics: text: A B C; width: 0; height: 0; ascent: 0; descent: 0; max advance: 0; bounds: 0,0 0,0; origin: 0,0; pixels per em: 0,0; underline position: 0; underline thickness: 0
2014-12-06T14:57:36-08:00 0:00.110 0.040u 6.8.9 Exception convert[39441]: annotate.c/RenderFreetype/1127/Exception
unable to read font `(null)'
2014-12-06T14:57:36-08:00 0:00.110 0.040u 6.8.9 Annotate convert[39441]: annotate.c/RenderPostscript/1649/Annotate
Font none; pointsize 12
Am Ende der Ausgabe des Befehls ist:
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11175/Coder
Wrote PNG image data
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11178/Coder
Width: 50
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11181/Coder
Height: 50
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11190/Coder
PNG bit-depth written: 1
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11199/Coder
PNG color-type written: 0
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11202/Coder
PNG Interlace method: 0
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11263/Coder
Setting up text chunk
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11266/Coder
keyword: 'date:create'
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11263/Coder
Setting up text chunk
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11266/Coder
keyword: 'date:modify'
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11282/Coder
Writing PNG end info
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Resource convert[39441]: resource.c/RelinquishMagickResource/862/Resource
Memory: 50B/24.4KiB/2GiB
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WriteOnePNGImage/11344/Coder
exit WriteOnePNGImage()
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Coder convert[39441]: png.c/WritePNGImage/12183/Coder
exit WritePNGImage()
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Cache convert[39441]: cache.c/DestroyPixelCache/965/Cache
destroy 1.png[0]
2014-12-06T14:57:36-08:00 0:00.170 0.060u 6.8.9 Resource convert[39441]: resource.c/RelinquishMagickResource/862/Resource
Memory: 25KB/0B/2GiB
convert: non-conforming drawing primitive definition `text' @ error/draw.c/DrawImage/3192.
Diese kommentieren Befehl,
~ convert \
> -size 50x50 xc:none -gravity center -annotate +0+0 "A B C" 2.png
Gab dieser Ausgabe:
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1127.
convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype/1127.
Png erstellt ist 257 bytes, und es ist 50x50 Pixel, aber ich sehe keine Buchstaben. In der Vorschau sieht es ganz transparent.
- Fügen Sie bitte die Ausgabe der folgenden Befehle:
convert -version
undconvert -list configure
. - Ich habe versucht, sowohl Ihre Befehle, und beide arbeiteten für mich. (Für die zweite, die ich hatte, zu ersetzen
/tmp/tmpGRaZKy
durchwizard:
- und Ihre Ausgabe vonout.jpg
.) -- Mein ImageMagick-Versionen sind: (1)6.7.6-9 2012-05-12 Q16
und (2)6.8.9-8 Q16 x86_64 2014-10-03
. - Das update angezeigt. Danke!
- Sorry, jetzt hab ich keine Ahnung. (Ich hatte gehofft, mit Ihrem IM-version zu zeigen, wie ein Täter, aber es scheint nicht so zu sein.) Ich denke mal ein wenig darüber...
- Die einzige weitere Idee, die ich mit oben kommen kann jetzt: (1) Beginnen mit einem sehr einfachen Befehl:
convert -size 50x50 xc:none -gravity center -draw 'text 0,0 "A" ' out.png
. -- (2) Dann erste add --verbose
auf Ihren Befehl. -- (3) fügen Sie Dann-debug draw
. -- (4) Letzte add-debug all
. Prüfen Sie alle zusätzliche Nachrichten, die Sie sehen. Vielleicht wäre eine bessere Ahnung, was ist eventuell falsch? - Dachte nur möchte ich erwähnen, dass ich das schlagen fast die gleichen Fehler. Ich führe eine online-cloud-computing-Website (SageMathCloud), wo wir eine große Anzahl von VM ' s, und ich sehe diesen Fehler auf einem der hosts, aber nicht den anderen Rechner. Die exakt gleiche Datei erzeugt diesen Fehler mit der gleichen version von convert auf einem Computer, aber nicht auf andere-vermeintlich identischen -- Maschine. Die Ausgabe von "convert-Liste konfigurieren" ist das gleiche auf jedem.
- Für mich war die Lösung "sudo apt-get install inkscape". (Ich bin mit Ubuntu.) Das löste das problem vollständig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Debuggen dieses problem, ich würde damit beginnen, zunächst mit einer eher einfachen Befehl:
Wahrscheinlich nicht funktionieren. Dann fügen Sie
-verbose
dem Befehl:Vielleicht bekommt man jetzt eine bessere Ahnung, was schief geht? Wenn nicht, fügen Sie
-debug draw
:Überprüfen Sie alle Nachrichten. Es kann viele Dutzend von Ihnen. Keine Ahnung? Wenn nicht, versuchen Sie
-debug all
:Wenn diese nicht nachgibt irgendwelche Tipps, gibt es eine alternative Bild-operator, um zu versuchen, statt
-draw
:-annotate
. Hier ist die (fast) gleichwertigen Befehl:Tut
-annotate
Arbeit?