CAD-rajz SVG-exportja (.svg)

W3C Szabvány

A Scalable Vector Graphics (SVG) egy XML-alapú vektorképes formátum kétdimenziós grafikákhoz, amely támogatja az interaktivitást, a CSS-stílusokat és az animációt.

SVG konvertálása erre: PNG

Ingyenes, böngészőben használható SVG-konverter PNG formátumba. A fájlokat azonnal konvertálhatja az eszközén.

SVG tömörítése online

Privát - a fájlok soha nem hagyják el az eszközét

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) SVG fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) SVG fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

3C 73 76 67

ASCII ÁBRÁZOLÁS: <svg

Szabványosítás: W3C Recommendation (SVG 1.1 / SVG 2)

Műszaki specifikációk

Konténer architektúraXML-alapú szöveges jelölőnyelvi dokumentum, amely 2D-s vektorgeometriát határoz meg
TömörítésGzip / Brotli szövegtömörítés (az SVGZ gzip-tömörítést használ)
BájtsorrendNem alkalmazható (szöveges UTF-8 / UTF-16 karakterfolyam)
SzíntereksRGB, CSS Color Module 4 (Display P3, lab, lch)
Csatornák és struktúraKorlátlan felbontású vektoralakzatok, Bézier-görbék, tipográfia és átlátszósági maszkok
Max. méretekFelbontásfüggetlen (bármilyen nézetablakra korlátlanul, pixelesedés nélkül skálázódik)
ÁtlátszóságTeljes mértékben változtatható alfa-átlátszóság és CSS-keverési módok
Streaming és progresszívA böngésző XML-elemzője által támogatott progresszív szöveges adatfolyam-elemzés

Műszaki összehasonlító mátrix: SVG vs. versenytársak

Technikai attribútumSVG (Jelenlegi)HTML5 CanvasPDFPNG
Renderelési modellMegtartott módú vektoros DOMAzonnali módú bittérképes vászonMegtartott módú rögzített oldaltárolóRaszteres pixelrács
Stílusok és CSSTeljes mértékben stílusozható CSS-osztályokon és változókon keresztülA JavaScript canvas API újbóli kirajzolását igényliNincs dinamikus CSS-stílusozásRögzített raszterpixelek
Korlátlan méretezhetőségIgen (matematikai vektorgörbék)Manuális felbontásskálázást igényelIgen (vektorelemek)Nem (nagyításkor pixelesedik)
InteraktivitásNatív DOM-események (rámutatás, kattintás, animációk)Manuális matematikai találatérzékelést igényelStatikus dokumentumKéptérképet (image map) vagy vásznat igényel

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A böngésző XML-elemzési hibát jelez: lezáratlan token vagy nem egyező címke.

Kiváltó ok: Helytelen XML-szintaxis, hiányzó zárócímkék vagy nem escape-elt ampersandjelek ('&' az '&amp;' helyett).

Helyreállítás: Ellenőrizze a fájl érvényességét egy XML-ellenőrzővel (xmllint file.svg), és javítsa ki a hibásan párosított címkéket.

Biztonsági elemzés és elemző (parser) támadási vektorok

Mivel az SVG futtatható XML, amely támogatja a '<script>' címkéket és a külső entitásokat, nem megbízható SVG-k megjelenítésekor jelentős XSS- és SSRF-kockázatot jelent.

Ismert támadási vektorok

  • Tárolt webhelyek közötti parancsfecskendezés (Stored XSS) beágyazott '<script>' címkéken vagy 'onload=' eseménykezelőkön keresztül.
  • XML-külsőentitás- (XXE-) támadások, amelyek helyi szerverfájlokat olvasnak be, amikor a fájlokat a háttérkiszolgálókon dolgozzák fel.
  • A „Milliárd nevetés” (Billion Laughs) nevű XML-entitásbővítési támadás szolgáltatásmegtagadást (DoS) okoz.

Ajánlott védekezési módszerek: Mindig tisztítsa meg az SVG-ket a DOMPurify használatával beágyazás előtt, vagy szolgálja ki az SVG-ket 'Content-Security-Policy: default-src 'none'' fejléccel vagy '<img>' címkéként, amelyek automatikusan letiltják a parancsfájlokat.

Történeti háttér és mérföldkövek

2018A W3C SVG 2 jelölt ajánlás (Candidate Recommendation) integrálja a modern CSS-stílusokat.
2011Az SVG 1.1 (második kiadás) egységesíti az univerzális mobil- és asztali böngészőtámogatást.
2001A W3C kiadja az SVG 1.0 specifikációt, amelyet a VML és PGML javaslatok alapján fejlesztettek ki.

Főbb előnyök

  • Végtelen felbontásfüggetlenség: éles vonalak és tipográfia bármilyen kijelzőn vagy nyomtatási méretben.
  • Rendkívül kis fájlméret logókhoz, ikonokhoz és felületelemekhez.
  • A böngésző DOM-ján belül CSS-sel és JavaScripttel teljes mértékben vezérelhető és formázható.

Technikai korlátok és hátrányok

  • Nem alkalmas fényképekhez vagy összetett, folytonos tónusú képekhez.
  • A több ezer csomópontot tartalmazó összetett vektorútvonalak lassíthatják a CPU-alapú megjelenítést és gyorsabban meríthetik az akkumulátort.
  • Az XML-jelleg miatt beágyazott parancsfájlokat tartalmazhat, ami szigorú tisztítást (szűrést) igényel a nem megbízható feltöltések megjelenítése előtt.

Érdekes technikai tudnivalók

  • A Gzip-tömörítés egyes SVG-fájlok méretét jelentősen csökkentheti; a csökkenés a dokumentum tartalmától és a tömörítési beállításoktól függ.
  • A viewBox attribútum egy absztrakt koordinátavásznat határoz meg, amely dinamikusan képeződik le a fizikai képernyőpixerekre.
  • A korai webböngészőkből kezdetben hiányoztak a natív SVG-motorok, ami arra késztette az Adobét, hogy terjessze az Adobe SVG Viewer böngészőbővítményt, amíg a natív böngészőtámogatás 2011 körül megszilárdult.

Gyakran Ismételt Műszaki Kérdések

Tartalmazhatnak az SVG-fájlok kártékony kódot?

Igen. Mivel az SVG érvényes XML, tartalmazhat beágyazott JavaScriptet ('<script>'), amely akkor hajtódik végre, ha az SVG-t közvetlenül betöltik egy böngészőbe, vagy megnyitják egy beágyazott '<svg>' elemben. Az SVG-k '<img>' címkén keresztüli kiszolgálása automatikusan semlegesíti a parancsfájl futtatását.

Mikor érdemes SVG-t használni PNG helyett?

Használjon SVG-t ikonokhoz, logókhoz, diagramokhoz, illusztrációkhoz és tipográfiához, ha minden képernyőméreten éles méretezésre és kis fájlméretre van szükség. Fényképekhez használjon PNG-t vagy WebP-t.

Hogyan optimalizálhatom a nagy vagy összetett SVG-fájlokat?

A vektorútvonalakat az SVGO-hoz hasonló eszközökkel vagy SVG-tömörítéssel tisztíthatja meg a felesleges metaadatok, szerkesztői megjegyzések (Inkscape vagy Illustrator), láthatatlan csoportok és nem használt névtérdeklarációk eltávolításával.