Version ist bei mir identisch:
root@ubuntu1604lts:~# convert --version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2016-06-01 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
Für’s Protokoll mein Aufruf:
root@ubuntu1604lts:~# convert -verbose -background None watermark.svg blocky.png
"inkscape" "watermark.svg" --export-eps="/tmp/magick-28793WTis8lGIkQog" --export-dpi="90,90" --export-background="rgb(0%,0%,0%)" --export-background-opacity="0" > "/tmp/magick-28793eAuiO9pN0J6E" 2>&1
watermark.svg SVG 718x172 718x172+0+0 16-bit sRGB 3.47KB 0.020u 0:00.009
watermark.svg=>blocky.png SVG 718x172 718x172+0+0 16-bit sRGB 29.4KB 0.020u 0:00.020
Kein GhostScript dabei, wie die Jungs im anderen Thread auch schon bemerkt haben.
So, jetzt kommt der interessante Teil. Wenn ich mal nur diesen Inkscape-Aufruf, der da gemacht wird, reinhaue, dann sehe ich in der Datei, die STDOUT und STDERR auffängt, korrekterweise das:
root@ubuntu1604lts:~# cat /tmp/magick-28793eAuiO9pN0J6E
The program 'inkscape' is currently not installed. You can install it by typing:
apt install inkscape
Isch ’abe gar keine Inkscape.
Wenn ich nun Inkscape nachinstalliere und den „convert
“-Befehl nochmal reinhaue, erscheint das:
root@ubuntu1604lts:~# convert -verbose -background None watermark.svg blocky.png"inkscape" "watermark.svg" --export-eps="/tmp/magick-312274SpeUM3GLZ9l" --export-dpi="90,90" --export-background="rgb(0%,0%,0%)" --export-background-opacity="0" > "/tmp/magick-31227FZvlqAOPs90t" 2>&1
"gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -g512x74 "-sOutputFile=/tmp/magick-31227pVLDONGArANU%d" "-f/tmp/magick-31227_4u9_l7F8NRL" "-f/tmp/magick-31227UnHouA9lp2VC"
/tmp/magick-31227pVLDONGArANU1 PNG 512x74 512x74+0+0 8-bit sRGB 12.6KB 0.000u 0:00.000
/tmp/magick-312274SpeUM3GLZ9l PNG 512x74 512x74+0+0 16-bit sRGB 12.6KB 0.000u 0:00.000
watermark.svg=>/tmp/magick-312274SpeUM3GLZ9l PNG 512x74 512x74+0+0 16-bit sRGB 12.6KB 0.000u 0:00.000
watermark.svg=>blocky.png PNG 512x74 512x74+0+0 8-bit sRGB 175c 7.64KB 0.000u 0:00.000
Nun ruft er auch bei mir GhostScript auf. Und, siehe da: Jetzt ist auch meine „blocky.png“ kaputt!
Die reine Tatsache, dass er den Umweg über Inkscape → GhostScript geht, scheint das Problem zu sein.
Jetzt ist natürlich interessant, warum er das denn überhaupt tut, wenn es ohne Inkscape doch genauso gut (vermutlich mit einem in ImageMagick eingebauten Konverter) geht. Ich mutmaße, dass Inkscape halt mehr kann und der eingebaute Konverter nur ein rudimentäres Feature-Set hat. Und kann man ihm diesen Umweg abgewöhnen?
ImageMagick besitzt wohl eine deutlich komplexere Konfiguration, als mir bisher bewusst war. Dein Problem solltest du lösen können, indem du ihm den Inkscape-Umweg abgewöhnst – das kannst du anscheinend unter „/etc/ImageMagick-6/delegates.xml
“ tun. Such’ in der Datei mal nach „inkscape
“. Wenn du die gefundene Zeile mal auskommentierst mit „<!-- ... -->
“ (oder löschst), dann sollte das helfen. Danach sieht’s bei mir so aus:
root@ubuntu1604lts:~# convert -verbose -background None watermark.svg blocky.png
watermark.svg SVG 718x172 718x172+0+0 16-bit sRGB 3.47KB 0.010u 0:00.010
watermark.svg=>blocky.png SVG 718x172 718x172+0+0 16-bit sRGB 29.4KB 0.020u 0:00.019
Und die PNG-Datei ist trotz installiertem Inkscape in Ordnung.