Ich versuche ein SVG zu konvertieren, das von Raphael JS erstellt wurde (und den Benutzer, da Sie die Bilder ziehen und drehen können). Ich folgte diesem SVG in Bild (JPEG, PNG, etc.) im Browser konvertieren kann es aber immer noch nicht bekommen.
Es muss einfach sein, aber ich kann nicht sagen, was ich falsch verstanden habe.
Ich habe meine Svg in einem Div mit #ec
als id
und die Canvas's ist #canvas
.
Die Warnung gibt mir:
%Vor%Das ist das xml der SVG und wenn ich canvg Dokumentation glaube, ist es gut.
Wie auch immer, mit diesem Code hat die Variable img
, die die konvertierten Bilddaten haben sollte, die Daten eines leeren PNG mit den Dimensionen der SVG bekommen.
Das einzige, was ich denke, ist, dass die von Raphael JS generierte SVG für canvg nicht gut formatiert ist (wie href
von image
sollte xlink:href
sein, wenn ich die W3C-Empfehlungen )
Hat jemand eine Idee zu diesem Problem? : D
canvg
akzeptiert den SVG
-Daten einen Dateipfad oder eine einzeilige Zeichenfolge
Aber in Ihrem Code übergeben Sie den HTML-Inhalt des div #ec
as
Die Methoden $.html()
von jQuery und DOM innerHTML
geben den HTML-Inhalt eines Elements so wie er ist zurück, also höchstwahrscheinlich in mehreren Zeilen.
canvg
interpretiert diesen mehrzeiligen HTML-Inhalt als Dateipfad,
und versucht, die Daten von der fehlerhaften URL abzurufen.
Der Konvertierungsvorgang von SVG nach Canvas ist fehlgeschlagen, und deshalb erhalten Sie das Bild nicht als erwartet.
Hier ist eine aktualisierte Version, die funktionieren sollte,
%Vor%svgfix.js wird diese Fehler beheben. Werfen Sie einen Blick auf diesen Blogbeitrag Raphael Grafik in Bild exportieren
Ich habe mit SVG - Bearbeiten gearbeitet und SVG-Bilder erstellt. Was wir getan haben, war ImageMagic auf dem Server (Sie haben es wahrscheinlich schon installiert).
Nach der Installation müssen Sie lediglich einen Befehl wie "convert foo.svg foo.png" im Terminal ausführen. Wenn Sie PHP verwenden, können Sie Folgendes tun:
%Vor%In PHP und es ist fertig.
Tags und Links javascript jquery svg canvas raphael