Canvas-ul e practic o imagine, ca sa creezi un svg trebuie sa faci prima data un svg si dupa posibil sa il desenezi pe canvas, dar sa il ai undeva… In cel mai bun caz exista librarii care folosesc un scene graph si tot ce deseneaza e un obiect. (d3/fabric)
Exista si librarii care inlocuiesc call-urile la API-ul de canvas si il transforma in SVG, asta face canvas2svg. Acum prima data tu trebuie sa configurezi chart.js sa deseneze o imagine pe canvas cat mai simplu, dupa ce face asta trebuie sa inlocuiesti call-urile cu cele ale lui canvas2svg (mai bine zis inlocuiesti canvas-ul din browser cu canvas-ul care genereaza un svg)
Multumesc
Fix asa am facut, dar nu prea a vrut. In cam toate exemplele am vazut treaba aia tweakLib() care tot ce facea era sa verifice daca este 2d sau 2D
Manarea acea biblioteca
Cand apelam treaba aia, apareau alte erori care nu aveau treaba cu svg-ul.
Una din ele zicea ceva de genu’ ca i.removeListener is undefined. Dar era de la un alt plugin(chart js zoom) care nu avea legatura cu exportul
Mai bricolez si maine pe acolo si daca gasesc ceva, adaug la topic.
LE: tweakLib() era in codul meu. O adaug maine in acea biblioteca sa vad daca mai face figuri!
Apropo de asta, eu am implementat ceva cod de export in svg pentru un proiect, fara sa folosesc nici o biblioteca. Pur si simplu era necesar doar un subset, iar svg e simplu.
Fata de dxf (yeap, am implementat si de-ala de Autocad, chestii 3D relativ complicate) si Visio, svg a fost o banalitate ultra-usoara.