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 und convert -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 durch wizard: - und Ihre Ausgabe von out.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.

InformationsquelleAutor Rose Perrone | 2014-12-05
Schreibe einen Kommentar