Bild in svg umwandeln. Hintergrund Wie konvertiere ich PNG-Bilder in SVG? Eine kurze Anleitung zur Verwendung von SVG in CSS

Manchmal ist es notwendig, SVG mit dem Browser in PNG zu speichern. Leider verfügt der Browser nicht über eine magische API, mit der Sie dies ohne verschiedene Hacks tun könnten. Was tun, wenn Sie trotzdem erreichen wollen, was Sie wollen?

Die erste Idee, die mir in den Sinn kam, war, dies über Canvas zu tun, das eine toDataURL("image/png");
Also habe ich ein einfaches Skript geschrieben: jsfiddle , github :

Var html = document.querySelector("svg").parentNode.innerHTML; var imgsrc = "data:image/svg+xml;base64," + btoa(html); var canvas = document.querySelector("canvas"), context = canvas.getContext("2d"); canvas.setAttribute("Breite", 526); canvas.setAttribute("Höhe", 233); var image = neues Bild; image.src = imgsrc; image.onload = function () ( context.drawImage(image, 0, 0); var canvasdata = canvas.toDataURL("image/png"); var a = document.createElement("a"); a.textContent = " save"; a.download = "export_" + Date.now() + ".png"; a.href = canvasdata; document.body.appendChild(a); canvas.parentNode.removeChild(canvas); );

Die Essenz des Skripts ist einfach: Ich habe svg in dataUri konvertiert, es über image geladen, ein Bild auf Leinwand gezeichnet und es in png umgewandelt. Es schien, dass das Ziel erreicht wurde, und Sie können sich entspannen. Dieser Ansatz funktionierte in Firefox und Chrome, aber als ich ihn in unserem Lieblingsbrowser IE öffnete, bekam ich einen wunderbaren Fehler:

Die Sache ist, dass IE meint, dass das Bild von anderem Wirt geladen wird. Leider funktioniert das Festlegen von origin für dataUri nicht. Die Beschreibung der Regeln ist eigentlich hier zu finden: https://html.spec.whatwg.org/multipage/scripting.html#security-with-canvas-elements . Es war natürlich möglich, svg über den Server zu proxieren, und dann würde alles funktionieren, aber ich wollte eine rein clientseitige Lösung.

Und dann erinnerte ich mich an die wundervolle Canvg-Bibliothek. Mit Hilfe dieser Bibliothek zeichne ich SVG auf Leinwand und gehe dann wie bei der ersten Option vor: Ich nehme toDataURL("image/png") . Es stellte sich ein so einfacher Code heraus: github :

var svg = document.querySelector("svg"); var canvas = document.createElement("canvas"); canvas.height = svg.getAttribute("height"); canvas.width = svg.getAttribute("width"); canvg (Leinwand, svg.parentNode.innerHTML.trim()); var dataURL = canvas.toDataURL("image/png"); var data = atob(dataURL.substring("data:image/png;base64,".length)), asArray = new Uint8Array(data.length); for (var i = 0, len = data.length; i< len; ++i) { asArray[i] = data.charCodeAt(i); } var blob = new Blob(, {type: "image/png"}); saveAs(blob, "export_" + Date.now() + ".png");

Hier ist erwähnenswert, dass ich auch die FileSaver-Bibliothek verwendet habe, um den Speicherdialog aufzurufen.
Das ist alles, wir haben das gewünschte Ergebnis erzielt.

Es ist erwähnenswert, eine Nuance zu erwähnen - ich habe mich gefragt, ob ich svg in png speichern soll, als ich ein Plugin zum Exportieren von tauCharts geschrieben habe. Da die Stile im SVG aus einer externen Datei gesetzt werden, füge ich einen Inline-Stil in das SVG ein, um die maximale Ähnlichkeit mit dem ursprünglichen SVG zu erreichen. Und wir bekommen dieses Ergebnis.

Ich hoffe, dass der Artikel für Sie nützlich ist und Ihnen Zeit spart.

Beim Konvertieren von Rasterbildern wie PNG zu SVG oder JPG zu SVG, wandelt es Ihre Formen und Objekte in Schwarz-Weiß-Bilder in Vektorgrafiken um, die ohne Qualitätsverlust vergrößert werden können. Dann können Sie sie in einem beliebigen Vektorgrafik-Editor wie Inkscape malen.

Die Konvertierung gewöhnlicher Bilder führt höchstwahrscheinlich nicht zum gewünschten Ergebnis.

Verwenden Sie für beste Ergebnisse bei der Konvertierung in SVG ein Bild mit einfarbigem Hintergrund.

  • Um in SVG zu konvertieren, wählen Sie die Datei aus und warten Sie, bis sie auf unseren Server heruntergeladen wurde.
  • Unterstützt fast alle Bildformate (PNG, JPG, BMP und andere). Die Dateigröße ist nicht begrenzt, aber je größer die Datei, desto länger dauert die Konvertierung.
  • Nach der Konvertierung sehen Sie Ihre Originaldatei und das Ergebnis darunter.
  • Laden Sie das Ergebnis über den Link herunter.

Warum brauchen Sie das SVG-Format und wie wird es verwendet? Nach dem Konvertieren von PNG in SVG oder JPG in SVG

SVG (Scalable Vector Graphics) ist ein XML-basiertes Vektorgrafikformat
Der Vorteil ist, dass Sie die Bildgröße ändern können, ohne die Qualität und Details zu verlieren. Wenn Sie die Größe erhöhen, behält das Vektorbild die Form der Kurven bei, sodass das Bild mit jeder Auflösung angezeigt werden kann.

Es scheint nicht sehr gut zu funktionieren. Hier ist ein Beispiel, das das Flag -flatten für convert verwendet:

sudo apt-get install potrace imagemagick convert -flatten input.png output.ppm potrace -s output.ppm -o output.svg rm output.ppm

Ein weiteres interessantes Phänomen ist, dass Sie PPM (256 * 3 Farben, dh RGB), PPM (256 Farben, dh Graustufen) oder PPM (nur 2 Farben, dh nur Weiß oder Schwarz) verwenden können. Nach meiner begrenzten Beobachtung scheint es, dass bei Bildern mit Anti-Aliasing PPM und PPM (die meiner Meinung nach identische SVGs erzeugen) den Farbbereich verkleinern, während PPM den Farbbereich erweitert (wenn auch geringfügig). Vermutlich ist dies der Unterschied zwischen dem Pixel > (256 / 2)-Test und dem Pixel > 0-Test. Sie können zwischen ihnen wechseln, indem Sie die Dateierweiterung ändern, dh die folgende PPM-Verwendung:

sudo apt-get install potrace imagemagick convert -flatten input.png output.pbm potrace -s output.pbm -o output.svg rm output.pbm

Wie konvertiere ich ein PNG-Bild in SVG?

Dies ist jedoch nicht ideal.

png ist Stil Bitmap, und SVG ist ein Vektor Grafikdesign, das Bitmaps unterstützt, sodass das Bild nicht in Vektoren konvertiert wird, sondern nur ein Bild, das in das Vektorformat eingebettet ist. Sie können dies über http://www.inkscape.org/ tun, was kostenlos ist. Es fügt es ein, hat aber auch eine Live Trace-Engine, die versucht, es in Pfade umzuwandeln, wenn Sie möchten (mit Potrace). Siehe Forward Tracing in Adobe Illustrator (kommerziell) ist ein Beispiel:

Wenn Sie in einigen sind Linux-System, imagemagick ist perfekt. Diese.

Konvertieren Sie somefile.png somefile.svg

Dies funktioniert mit einer Reihe verschiedener Formate.

Für andere Medien wie Video und Audio (ffmpeg) Ich weiß, dass Sie PNG zu SVG deutlich markiert haben; Es ist immer noch mit den Medien verbunden.

ffmpeg -i eine Datei.mp3 eine Datei.ogg

Fragen Sie einfach nach, wenn Sie viele Dateien durchgehen möchten; Loop mit einfachen Shell-Tricks.

Für f in *.jpg; konvertieren Sie $f $(f%jpg)png; erledigt

Dadurch wird das JPG entfernt und ein PNG hinzugefügt, das Sie auffordert, das zu konvertieren, was Sie möchten.

Es gibt eine Website, auf der Sie Ihr Bild hochladen und das Ergebnis sehen können.

Wenn Sie jedoch ein SVG-Bild herunterladen möchten, müssen Sie sich registrieren. (Wenn Sie sich anmelden, erhalten Sie 2 Bilder kostenlos)

mit Adobe-Illustrator:

Offen Adobe Illustrator. Klicken Sie auf „Datei“ und wählen Sie „Öffnen“, um die .PNG-Datei in das Programm zu laden. Extrahieren Sie das Bild nach Bedarf, bevor Sie es als .SVG-Datei speichern. Klicken Sie auf „Datei“ und wählen Sie „Speichern unter“. Erstellen Sie einen neuen Dateinamen oder verwenden Sie einen vorhandenen Dateinamen. Stellen Sie sicher, dass der ausgewählte Dateityp SVG ist. Wählen Sie ein Verzeichnis aus und klicken Sie auf Speichern, um die Datei zu speichern.

Ich bevorzuge KI, weil Sie alle Änderungen vornehmen können

Ich nehme an, Sie wollen schreiben Software dafür. Um es naiv zu machen, finden Sie einfach die Linien und setzen die Vektoren. Um dies intelligent zu tun, versuchen Sie, die Formen an die Zeichnung anzupassen (Modellanpassung). Außerdem sollten Sie versuchen, Rasterbereiche zu definieren (Regionen, die Sie nicht mit Scham modellieren oder Texturen anwenden können. Ich würde diesen Weg nicht empfehlen, da dies einige Zeit in Anspruch nimmt und einige Kenntnisse in Grafik und Computer Vision erfordert. Die Ausgabe wird deutlich besser sein und besser skalieren als Ihr ursprüngliches Ergebnis.

Der einfachste Weg, eine Grafik nachzuzeichnen, besteht darin, die Datei in Adobe Illustrator zu öffnen oder zu platzieren und mit dem Befehl „Bild nachzeichnen: Illustrator-Hilfe“ automatisch nachzuzeichnen. Mit dem Image Trace Tool - CS6

*Sogar einfacher):
Per Software wird das von Ihnen bereitgestellte Bild/Bild/Zeichnung/Foto - in einen Vektor für 1 (!) Euro -> Bild zu Vektor

=== Online-Dienste ===

  • Das erste ist kostenpflichtig, obwohl zwei Startbilder kostenlos erstellt werden können.

Auf Englisch, obwohl es leicht zu verstehen ist. Zwei Möglichkeiten zur Verwendung - online oder ein Programm für einen Computer kaufen. Der Preis für die Online-Nutzung (unbegrenzt) beträgt 7,95 $, das Desktop-Programm kostet 295,00 $. Es besteht die Möglichkeit, eine manuelle Nachverfolgung zu bestellen.
Günstiger findet man es natürlich auf Freelancer-Portalen, naja, die Wahl ist jedem selbst überlassen.

Genauigkeit

Oben sind einige Vergleichsbilder von Vector Magic, Adobe Live Trace (CS6) und Corel
Corel PowerTRACE (X6). Achten Sie auf die Genauigkeit bei der Handhabung des Formvektors.

Benutzerfreundlichkeit

Sie müssen nicht viele Optionen und Einstellungen installieren und kennen, um ein akzeptables Ergebnis zu erzielen.

Sie müssen nur ein paar einfache Fragen beantworten und das war's. Wenn das Ergebnis nicht zufriedenstellend ist, gibt es einen "Fehler"-Ratgeber, in dem Sie die Antwort leicht finden und das Problem lösen können.

Sie können es immer wieder versuchen, bis Sie ein zufriedenstellendes Ergebnis erhalten.

Im Allgemeinen können Sie diese Arbeit auf Vector verlagern und kreativere Aufgaben erledigen.

Die Übersetzung ist frei, aber die Bedeutung ist ungefähr so.

Quellbilder in den Formaten JPG, GIF, PNG, BMP und TIFF. Das Ergebnis liegt in drei Qualitätsoptionen und in drei Formaten vor: EPS, SVG und PNG. Nach Fertigstellung ist eine Wiederholung mit einer anderen gewünschten Qualität und etwas Bearbeitung möglich.

  • Als nächstes fertig FREI .

Komplett in Englisch, aber mit der Bedienung ist alles klar. Etwas mehr Einstellungen u selbstgemacht aber das ist es wert.


Unterstützte Quellformate:
  • Netzwerk png
  • TGA Truevision Targa-Bild
  • PBM Portable Bitmap-Format
  • PNM Portable Anymap-Format
  • PGM Portable Graymap-Format
  • PPM Portable Pixmap-Format
  • BMP Microsoft Windows Bitmap-Bild

Ausgabeformate:
  • svg Skalierbare Vektorgrafiken
  • eps Encapsulated PostScript
  • ai Adobe Illustrator
  • dxf DXF-Format (ohne Splines)
  • p2e pstoedit Frontend-Format
  • sk-Skizze
  • Abb. XFIG 3.2
  • emf Enhanced Metafile-Format
  • mif Frame Maker MIF-Format
  • er Elastic Reality Shape-Datei
  • epd EPD-Format
  • pdf PDF-Format
  • cgm Computergrafik-Metadatei
  • dr2d IFF DR2D? Format
  • ermöglicht es Ihnen, Bilder in . Sie können entweder eine Datei hochladen oder einen Link zu einem Bild angeben. Es ist auch möglich, digitale Effekte zu überlagern.

Beim Konvertieren von Bitmap-Bildern (PNG oder JPG) in SVG-Format, Formen und Objekte werden in Schwarzweiß umgewandelt Vektorgrafiken, die ohne Qualitätsverlust skaliert. Solche Bilder können mit eingefärbt werden kostenlose Programme für die Arbeit mit Vektorgrafiken (usw.). Fotografen erzielen in den meisten Fällen nicht das gewünschte Ergebnis, wenn sie eine Bitmap in das SVG-Format konvertieren.

Wenn Sie ein Vektorbild (z. B. eps- oder ai-Format) in das SVG-Format konvertieren, versucht der Konverter, alle Vektor- und Farbdaten beizubehalten und sicherzustellen, dass die beiden Dateien so ähnlich wie möglich sind.

Mit dem Formatkonverter für skalierbare Vektorgrafiken (SVG) können Sie über 130 Dateiformate konvertieren. Konvertierungsrichtungen:

3FR zu SVG, AFF zu SVG, AI zu SVG, ANI zu SVG, ART zu SVG, ARW zu SVG, AVI zu SVG, AVS zu SVG, BMP zu SVG, CDR zu SVG, CGM zu SVG, CIN zu SVG, CMYK zu SVG , CMYKA zu SVG , CR2 zu SVG , CRW zu SVG , CUR zu SVG , CUT zu SVG , DCM zu SVG , DCR zu SVG , DCX zu SVG , DDS zu SVG , DFONT zu SVG , DIA zu SVG , DNG zu SVG , DPX zu SVG, DXF zu SVG, EPDF zu SVG, EPI zu SVG, EPS zu SVG, EPSF zu SVG, EPSI zu SVG, EPT zu SVG, EPT2 zu SVG, EPT3 zu SVG, ERF zu SVG, EXR zu SVG, FAX zu SVG , FIG zu SVG , FITS zu SVG , FPX zu SVG , FRACTAL zu SVG , FTS zu SVG , G3 zu SVG , GIF zu SVG , GIF87 zu SVG , GRAU zu SVG , GRB zu SVG , HDR zu SVG , HRZ zu SVG , ICB zu SVG, ICO zu SVG, ICON zu SVG, IPL zu SVG, JBG zu SVG, JBIG zu SVG, JNG zu SVG, JP2 zu SVG, JPC zu SVG, JPE zu SVG, JPEG zu SVG, JPG zu SVG, JPX zu SVG , K25 zu SVG , KDC zu SVG , M2V zu SVG , M4V zu SVG , MAT zu SVG , MIFF zu SVG , MNG zu SVG , MONO zu SVG , MOV zu SVG , MP4 zu SVG , MPC zu SVG , MPEG zu SVG , MPG zu SVG W zu SVG, MSL zu SVG, MSVG zu SVG, MTV zu SVG, MVG zu SVG, NEF zu SVG, NRW zu SVG, ORF zu SVG, OTB zu SVG, OTF zu SVG, PAL zu SVG, PALM zu SVG, PAM zu SVG, PBM zu SVG, PCD zu SVG, PCDS zu SVG, PCL zu SVG, PCT zu SVG, PCX zu SVG, PDB zu SVG, PDF zu SVG, PDFA zu SVG, PEF zu SVG, PES zu SVG, PFA zu SVG, PFB zu SVG, PFM zu SVG, PGM zu SVG, PICON zu SVG, PICT zu SVG, PIX zu SVG, PJPEG zu SVG, PLASMA zu SVG, PNG zu SVG, PNG24 zu SVG, PNG32 zu SVG, PNG8 zu SVG, PNM zu SVG, PPM zu SVG, PS zu SVG, PSD zu SVG, PTIF zu SVG, PWP zu SVG, RAF zu SVG, RAS zu SVG, RGB zu SVG, RGBA zu SVG, RLA zu SVG, RLE zu SVG, SCT zu SVG, SFW zu SVG, SGI zu SVG, SK zu SVG, SK1 zu SVG, SR2 zu SVG, SRF zu SVG, SUN zu SVG, SVG zu SVG, SVGZ zu SVG, TGA zu SVG, TIF zu SVG, TIFF zu SVG, TIM zu SVG , TTC zu SVG , TTF zu SVG , TXT zu SVG , VDA zu SVG , VICAR zu SVG , VID zu SVG , VIFF zu SVG , VST zu SVG , WBMP zu SVG , WEBP zu SVG , WMF zu SVG , WMZ zu SVG , WPG zu SVG , X zu SVG , X3F zu SVG , XAML zu SVG , XBM zu SVG , XC zu SVG , XCF zu SVG , XFIG zu SVG , XPM zu SVG , XV zu SVG , XWD zu SVG , YCBCR zu SVG , YCBCRA zu SVG , YUV im SVG-Format

Basiert auf Open-Source-Lösungen wie Autotrace, ImageMagick und verschiedenen Linux-Grafikkomponenten.

Formate für die Konvertierung:

SVG - Skalierbare Vektorgrafiken
AI - Adobe Illustrator-Dateien (postscriptbasiert)
CGM - Metafile-Dateien für Computergrafiken
WMF - Windows Metafile-Dateien
SK - Sketch/Skencil-Dateien
PDF - Portables Dokumentenformat
EPS-PostScript
PLT - HPGL zum Schneiden von Plotterdateien

und auch: P2E, FIG, EMF, MIF, ER, DXF, EPD, CGM, oDR2D

SVG-Bilder sind ein wichtiges Vektorformat für die nächste Generation von Websites und vollständig in die neuen HTML5-Standards integriert. Mit Aurora SVG Viewer & Converter: Sie können ganz einfach SVG-Grafiken anzeigen und Ihre Produktionen in mehrere Formate konvertieren.

Das Aufkommen von HTML5 hat zu einer stärkeren Nutzung von Vektorgrafiken im SVG-Format geführt. Wenn Sie ein Webentwickler sind, ist jetzt der perfekte Zeitpunkt, um einen Schritt voraus zu sein und Ihren Workflow mit all dem auszustatten du brauchst um mit HTML5- und SVG-Bildern zu arbeiten. Der erste Schritt besteht darin, sich eine Kopie der heutigen ermäßigten Software-Aktion zu sichern, die für Mac- und Windows-Benutzer verfügbar ist!

Aurora SVG-Viewer und -Konverter erleichtert das Organisieren, Anzeigen und Konvertieren von SVG-Bildern. Mit Aurora SVG-Viewer und -Konverter genießen Sie einen praktischen Miniaturbild-Anzeigemodus und eine sofort erkennbare Ordneransicht. Wenn Sie ein SVG-Bild in ein anderes Format konvertieren müssen, Aurora SVG-Viewer und -Konverter rettet den Tag, indem es Ihnen ermöglicht, Bilder im TIFF-, PNG-, JPB-, BMP-, GIF-, TGA-, XPM-, PPM-, XBM- oder sogar im PDF-Format zu speichern. Noch besser, Sie können mehrere Dateien im Stapel konvertieren!

Natürlich haben Sie immer die volle Kontrolle über die Details mit Aurora SVG-Viewer und -Konverter. Passen Sie die Ausgabeauflösung an, konvertieren Sie Teile von SVG-Bildern und legen Sie die Konvertierungsqualität fest!

Windows-Screenshot: Mac-Screenshot:

Funktionen von Aurora SVG Viewer & Converter:

1.Unterstützung Windows & MAC-Betriebssystem.

2.Einfach Ordnerauswahl und Thumbnail-Anzeige Modus.

3. Zeigen Sie SVG-Bilder schnell in der Vorschau an oder konvertieren Sie sie; unterstützt SVG und SVGZ.

4. SVG-Konverter in mehrere Bildformate umfassen: tiff, png, jpg, bmp, gif, tga, xpm, ppm, xbm und pdf.

5. Batch-Konvertierung, erstellen Sie eine Liste der zu konvertierenden Bilder, konvertieren Sie sie dann auf einmal und speichern Sie sie in einem anderen Ordner.

6. Die Ausgabeauflösung lässt sich einfach mit der freien Zoomauflösung einstellen. Wählen und konvertieren Sie einen beliebigen Bereich der SVG-Leinwand.

7. Benutzerdefinierte Konvertierung eines beliebigen Bereichs Ihrer Wahl: Wählen Sie einen Bereich des SVG-Bildes aus und konvertieren Sie ihn.

8. Schnelleinstellung der Konvertierungsqualität.

9. Verwenden Sie Ihr bevorzugtes Windows- oder Mac-Betriebssystem, um SVG oder Animationen schnell in der Vorschau anzuzeigen und SVG in mehrere Bildformate zu konvertieren. Probieren Sie es aus!

AUSZEICHNUNGEN

Benutzerkommentar:

Ich wollte Ihnen sagen, wie sehr ich Ihre Software genieße. Ich habe den 3D-Textersteller gekauft, jetzt habe ich den 3D-Animationsersteller gekauft. Beide Programme werden meine Videoprojekte wirklich hervorheben.

---- John Harvat (USA)


Dieses Programm sieht sehr nützlich aus. Ich werde es auf jeden Fall herunterladen und ausprobieren. Animation 3D sieht auch sehr nützlich aus. Es ist erstaunlich, wie viele Softwaretitel in Bitsdujour vorgestellt werden, auf die ich sonst nicht gestoßen wäre.

Ich habe gerade mit dem 3D Animation Maker experimentiert. Wow, ich bin sehr beeindruckt! Ich habe eines der Samples als avi exportiert und bin mit der Qualität sehr zufrieden. Vielen Dank für den Deal – der Kauf war nach dem Test ein Kinderspiel. Ich werde in Zukunft definitiv Präsentation 3D in Betracht ziehen.

---- Don Goddard (Vereinigte Staaten)