LW IT Solutions
« Blog Overview /Web Entwicklung/Tutorials / Extrahieren von SVG-Grafiken aus Websites: Konsolenmethode und...
This post in other languages:

Extrahieren von SVG-Grafiken aus Websites: Konsolenmethode und Alternativen

Das Extrahieren von skalierbaren Vektorgrafiken (SVGs) aus Websites kann problematisch sein, insbesondere wenn die Formatierung über externe CSS-Stylesheets erfolgt. Beim standardmäßigen Kopieren gehen häufig Farben und Layout-Eigenschaften verloren. Die folgende Anleitung beschreibt eine JavaScript-basierte Methode zum Extrahieren von SVGs mit fest integrierten Stilen (baked-in styles), gefolgt von alternativen Lösungsansätzen und der Einrichtung eines SVG-Favicons.

Methode 1: Das Skript für die Entwicklerkonsole

Diese Methode nutzt die Entwicklerkonsole des Browsers. Das Skript erfasst ein SVG, erstellt einen Klon, wendet die berechneten CSS-Stile (wie Füllung, Kontur und Deckkraft) explizit auf die geklonten Elemente an und startet automatisch den Download der vollständigen Datei.

  1. Die Entwicklertools öffnen (F12 oder Strg+Umschalt+I).
  2. Zum Tab Konsole (Console) wechseln.
  3. Den folgenden Code einfügen und mit Enter ausführen:
// 1. Das SVG-Element anvisieren
const svgElement = document.querySelector("svg"); 

// 2. Das Element klonen, um die Live-Webseite nicht zu verändern
const clonedSvg = svgElement.cloneNode(true);

// 3. Alle Elemente finden, die Farbstile enthalten (Pfade, Kreise, Formen)
const sourceElements = svgElement.querySelectorAll("*");
const clonedElements = clonedSvg.querySelectorAll("*");

// 4. Berechnete Stile (Farben, Füllungen, Konturen) auf das geklonte SVG kopieren
sourceElements.forEach((sourceEl, index) => {
    const clonedEl = clonedElements[index];
    const computedStyle = window.getComputedStyle(sourceEl);
    
    // Farb- und Layoutdefinitionen explizit kopieren
    clonedEl.style.fill = computedStyle.fill;
    clonedEl.style.stroke = computedStyle.stroke;
    clonedEl.style.color = computedStyle.color;
    clonedEl.style.opacity = computedStyle.opacity;
});

// 5. Das geklonte SVG mit den integrierten Stilen serialisieren
const svgString = new XMLSerializer().serializeToString(clonedSvg);
const svgBlob = new Blob([svgString], { type: "image/svg+xml;charset=utf-8" });

// 6. Die Datei herunterladen
const downloadLink = document.createElement("a");
downloadLink.href = URL.createObjectURL(svgBlob);
downloadLink.download = "colored-image.svg";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);

Alternative Methoden zur SVG-Extraktion

Wenn das Kopieren berechneter Stile nicht zwingend erforderlich ist, stehen andere Methoden zur Verfügung:

  • Element untersuchen (outerHTML kopieren): Ein Rechtsklick auf das SVG auf der Webseite, Untersuchen auswählen, ein Rechtsklick auf das markierte <svg>-Tag im DOM-Baum und Kopieren > outerHTML kopieren wählen. Dieser Code kann in einer lokalen .svg-Datei gespeichert werden.
  • Netzwerk-Tab: Die Entwicklertools öffnen, zum Tab Netzwerk navigieren, nach Img filtern und die Seite neu laden. Als externe Dateien geladene SVGs werden hier aufgelistet und können direkt heruntergeladen werden.
  • Browser-Erweiterungen: Spezielle Erweiterungen wie “SVG Grabber” können automatisch alle auf einer Webseite vorhandenen SVG-Assets erfassen und herunterladen.

Ein SVG als Favicon verwenden

Die Implementierung einer SVG-Datei als Website-Favicon erfordert das Hinzufügen eines spezifischen Link-Tags in das HTML-Dokument. Dieser Ansatz bietet unbegrenzte Skalierbarkeit und gestochen scharfe Darstellung auf hochauflösenden Bildschirmen.

Der folgende Code muss in den <head>-Bereich des HTML-Dokuments eingefügt werden:

<link rel="icon" href="/pfad/zum/favicon.svg" type="image/svg+xml">

Für eine maximale Kompatibilität mit älteren Systemen wird oft empfohlen, zusätzlich zur SVG-Deklaration eine standardmäßige .ico-Datei bereitzustellen.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Leave a Reply

Your email address will not be published. Required fields are marked *

ALL ARTICLES & CATEGORIES

CCTV

Data Privacy

Digital Analytics

Digital Marketing

IT & Networks

Raspberry Pi

Smart Home

Tutorials

Tutorials

Tutorials

Tutorials

Tutorials

Uncategorized

Web Entwicklung

Wordpress Hacks

Home Sitemap