Server-side-SVG-PNG - (oder irgendeinem anderen image-format) in python
Derzeit bin ich mit rsvg zum laden der svg (aus einer Zeichenfolge, die nicht aus einer Datei) und Zeichnung nach Kairo. Wer weiß einen besseren Weg? Ich benutze PIL an anderer Stelle in meiner Anwendung, aber ich kenne keine Möglichkeit, dies zu tun mit PIL.
PIL nicht SVG-Unterstützung; eine schnelle surfen gibt an, dass Sie wahrscheinlich haben die richtige toolchain.
Ich habe gerade gebucht einen neueren Kommentar über diesem hier - stackoverflow.com/a/19718153/542550 - ein Kommentar der besagt, dass "der ImageMagick-support angezeigt schrecklich", aber, dass der Kommentator nicht, es zu bauen/testen. Es ist nun 10/2013, und ich habe gerade getestet mit ImageMagick (über Zauberstab-py) zu importieren, eine Vielzahl von SVGs und es hat Super geklappt! Ich habe noch mehr Tests zu tun und wird auf jeden Fall ziehen diese Kommentar unten, wenn ich mich furchtbar Irre, aber an diesem Punkt es einwandfrei funktioniert hat auf ein paar SVGs bekannt waren, dass buggy sein mit anderen Methoden.
Ich habe gerade gebucht einen neueren Kommentar über diesem hier - stackoverflow.com/a/19718153/542550 - ein Kommentar der besagt, dass "der ImageMagick-support angezeigt schrecklich", aber, dass der Kommentator nicht, es zu bauen/testen. Es ist nun 10/2013, und ich habe gerade getestet mit ImageMagick (über Zauberstab-py) zu importieren, eine Vielzahl von SVGs und es hat Super geklappt! Ich habe noch mehr Tests zu tun und wird auf jeden Fall ziehen diese Kommentar unten, wenn ich mich furchtbar Irre, aber an diesem Punkt es einwandfrei funktioniert hat auf ein paar SVGs bekannt waren, dass buggy sein mit anderen Methoden.
InformationsquelleAutor colinmarc | 2010-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, was ich derzeit habe:
Es sind einige Fehler drin. Beim erstellen einer ImageSurface Sie müssen Integer
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, round(int(x)), round(int(y))
Und Sie sollten sicherstellen, dass die maxwidth-und maxheight-immer auf eine hohe Zahl, die wäre besser als 0. Ich habe viele SVGs mit einer Höhe von 32000, die in einem Speicher-Fehler aus.InformationsquelleAutor colinmarc
Wie über imagemagic? - http://www.imagemagick.org/script/magick-vector-graphics.php Es kann Lesen/schreiben von/auf stdin/stdout, so dass Sie integrieren können es mit Ihrer app-auch wenn Sie nicht verwenden möchten Dateien
convert
- Versionen, die älter als Mai 2010 tun, eine schreckliche Aufgabe, die Interpretation von SVG. Angesichts der changelog, es nicht scheinen, wie Sie schon noch bekommen SVG-Unterstützung funktioniert gut (obwohl ich nicht bauen, es zu sehen).InformationsquelleAutor Maciek Sawicki
Habe ich inkscape installiert, so dass ich bin nur der Landwirtschaft, den Prozess der inkscape-Befehl mit inkscape -f Datei.svg -e-Datei.png
Mithilfe dieses Codes:
Ich bin auf windows 7, und habe die Windows-5 Fehler [Zugriff Verweigert] (oder so ähnlich), bis ich eingeschaltet, um die inkscape-Verzeichnis
cwd=inkscape_dir
zuPopen
, anstatt ändern Sie das Verzeichnis für den übergeordneten Prozess.InformationsquelleAutor tjb
Können Sie auch PhantomJS (siehe http://phantomjs.org/screen-capture.html)
Aus einer shell:
Oder aus python mit Selen:
InformationsquelleAutor Matt Hampton