• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SVG2JPG Convert in Shell ohne GUI

Hallo Leute ich habe eine Shellprogramm gefunden dass mir aus meien CAD Zeichnungen schöne SVG Dateien erzeugt.
Jetzt benötige ich aber noch ein shell Programm mit dem man die SVG Dateien in JPG umwandel kann.

Ich habe dabei an den convert befehl von Linux gedacht.
Leider erhalte ich bei folgender Eingabe:
Code:
convert test.svg test.jpg

convert: must specify image size `/tmp/magick-XX0tAhHL' @ error/mvg.c/ReadMVGImage/184.
convert: missing an image filename `test.jpg' @ error/convert.c/ConvertImageCommand/2970.

BS ist Linux Suse 11.1
Convert version:
Version: ImageMagick 6.6.1-4 2010-04-20 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP


Vielleicht kennt ihr ein Tool mit dem das ganze funktioniert.
Es muss aber auch Shell Ebene Laufen da ich es über den cronjob laufen lassen will.

MfG
Christian
 
Mit ein bisschen Spekulation ... aber kann man Gimp nicht irgendwie von der Kommandozeile steuern? Das kann doch m.W. SVG lesen und dann ein "speichern unter ..." machen. Vielleicht lässt sich so etwas im Batch machen. Oder vielleicht lässt sich raus bekommen, welches Paket Gimp für solche Zwecke nutzt?
 
Ich habe den dumpfen Verdacht das convert auf die Größenangaben des jpg wartet die Du beim Erzeugen selbigen angeben müßtest.
 
A

Anonymous

Gast
SVG ist zwar nicht 100%ig in ImageMackig implementiert, aber wenn es ein Scripttool gibt, das sowas erstellet, bassierte es entweder auch darauf, oder es wird wohl auch nur auf libxml2 und freetype-2 zugrückgreifen, genauso wie ImageMagick auch.

Ich vermute aber auch wie oben schon Geier0815, das dieses Format keine Bildgröße beinhaltest, da es ja frei scalierbar ist. ImageMagick braucht aber eine Bildgröße zum Erstellen eines Rasterbildformates, wenn er eines erstellen soll. Wenn diese Bild-Größe nicht aus dem Ausgangsbild entnehmbar ist, dann muss sie angegeben werden.

Ansonsten gibt es im Netz irgendwo ein vergleichbares SVG-Bild zum ausprobieren? Ich vermute du musst nur ein paar Optionen zusätzlich dazu nehmen.

robi
 
convert test.svg -size 640x480 tile:bumps.jpg

hat lieder kein brauchbares Ergebniss geliefert:
convert: must specify image size `/tmp/magick-XXxk3nXF' @ error/mvg.c/ReadMVGImage/184.
convert: missing an image filename `tile:bumps.jpg' @ error/convert.c/ConvertImageCommand/2970.


habe ich die Optionen an der falschen Stelle stehen?
 
A

Anonymous

Gast
Hab jetzt kein passendes Linux hier, ich würde mal versuchen das Format des Bildes vorzugeben, bei svg gibt es wohl 2 verschiedene Renderer in Imagemagick, Kann das erst heute abend selbst ausprobieren.
versuche mal ob eines der folgenden Befehle eventuell funktioniert.

Code:
convert svg:image.svg image.jpg
convert msvg:image.svg image.jpg
convert rsvg:image.svg image.jpg
ansonsten such mal nach rsvg-convert kenn ich zwar selbst auch nicht, aber eventuell gibts das auch für Suse.

robi
 
ChristianS1985 schrieb:
convert: must specify image size `/tmp/magick-XX0tAhHL' @ error/mvg.c/ReadMVGImage/184.
convert: missing an image filename `test.jpg' @ error/convert.c/ConvertImageCommand/2970.
Da steht doch das du ein image size angeben musst. In der Manpage steht zum Aufruf folgender Aufbau:
Code:
convert [input-options] input-file [output-options] output-file
-density geometry    horizontal and vertical density of the image
-depth value         image depth
also müsste es doch etwa so aussehen:
Code:
convert -geometry 1024x768 -depth 8 INPUTIMAGE.SVG -density 1024x768 -depth 8 OUTPUTIMAGE.JPG
oder auch
Code:
convert gross.jpg -geometry 300x200 klein.jpg
convert -size 120x120 GroßesBild.tiff -resize 120x120 NeueMiniAnsicht.png
Schau dir mal dieses Script H I E R und auch H I E R an, eventuell kannst du es ja umbauen.
lieben Gruß aus Hessen
 
Oben