Ich möchte ein SVG zu einem PNG in einem Web Worker konvertieren. Mein Problem ist, dass das DOM nicht innerhalb des Worker, zugänglich ist, so dass ich das SVG nicht auf eine Leinwand oder so etwas zeichnen kann.Convert SVG in PNG in Web Worker
Antwort
Weeell, Sie können immer manuell das SVG analysieren und daraus eine Bitmap erstellen, aber (!) Ist es ein bisschen mehr Arbeit offensichtlich, da Sie einen SVG-Parser sowie einen PNG-Writer erstellen müssten, ganz zu schweigen Rasterisierungscode für Linien und Zweimodi Polygonfüllung inkl. Anti-Aliasing-, Pattern-, Matrix-, Composition-, Blending- und Gradient-Unterstützung. Könnte ein schönes Wochenende Projekt sein :)
Auf eine ernstere Anmerkung jedoch: Sie können dies nur mit den integrierten Tools mit regulären Kontext (keine Webworker) oder optional einen serverbasierten Dienst einrichten.
Vielen Dank für die Antwort. Ich richte einen Webservice ein. Es wäre einfach eine glattere Lösung gewesen, die Konvertierung direkt in einem zweiten Thread durchzuführen, da ich genau das gleiche SVG in verschiedenen Maßstäben zeichnen würde. –
@ ChristophBühler warum brauchst du die png-version? Svg skaliert ziemlich gut ;-) (sogar auf Leinwand) – Kaiido
@Kaiido Die SVGs sind ziemlich riesig (20 MB) und die Bilder müssen schnell erscheinen. Deshalb schreibe ich einen Canvas-Puffer. –
- 1. Convert sehr große SVG in PNG mit <canvas>
- 2. SVG JPG/PNG
- 3. PNG zu SVG Python
- 4. Convert CSV in PNG mit Matplotlib Problem
- 5. Inkscape zum Umwandeln von SVG in PNG
- 6. Konvertieren von SVG in PNG mit C#
- 7. SVG in png oder andere konvertieren?
- 8. SVG-Stream in PNG oder JPG konvertieren
- 9. convert von Json in SVG-Koordinaten
- 10. importScripts (Web Worker)
- 11. web worker vs provents
- 12. Web Worker und Canvas
- 13. Synchron auf Nachricht in Web-Worker warten
- 14. XML in einem Web Worker analysieren
- 15. Load Nodejs Module in einen Web Worker
- 16. Meinung über synchrone Anfragen in Web-Worker
- 17. SVG als PNG-Bild herunterladen
- 18. SVG Server-Seite PNG - mit node.js
- 19. SVG-Code in PNG-Daten konvertieren URI in node.js
- 20. Erstellen von PNG aus SVG XML ohne ImageMagick
- 21. Web Worker und Skalierung Bilder
- 22. Zugriff dom von Web Worker
- 23. Angular2 Web Worker mit ES5
- 24. Javascript Web Worker File Upload
- 25. Web Worker Einstellungen für Chrom
- 26. Web Worker 20x schlechtere Leistung
- 27. Beschränken Web Worker CPU-Auslastung?
- 28. Ember Concurrency vs Web Worker
- 29. Caesium TaskProcessor vs Web Worker
- 30. Canvas-API und Web-Worker
Vielleicht können Sie Inkscape oder ImageMagick nutzen? (Ich hatte nicht die Gelegenheit, mit Web-Mitarbeitern zu spielen) Sofern Sie eine vollkalorische ausführbare Umgebung erhalten, können Sie eine der beiden oben genannten Maßnahmen verwenden. Weitere Informationen finden Sie unter: http://stackoverflow.com/questions/9853325/how-to-convert-a-svg-to-a-png-with-image-magick – enhzflep