Експорт на CAD чертеж в SVG (.svg)
W3C СтандартScalable Vector Graphics (SVG) е XML-базиран векторен графичен формат за двумерна графика с поддръжка на интерактивност, оформяне чрез CSS и анимация.
Конвертиране от SVG към PNG
Безплатен конвертор от SVG към PNG в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Компресирайте SVG онлайн
Поверително - файловете никога не напускат устройството ви
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират SVG файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират SVG файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
3C 73 76 67ASCII ПРЕДСТАВЯНЕ: <svg
Стандартизация: W3C Recommendation (SVG 1.1 / SVG 2)
Технически спецификации
| Контейнерна архитектура | XML-базиран текстов документ за маркиране, определящ двумерна векторна геометрия |
| Компресия | Текстова компресия Gzip / Brotli (SVGZ използва gzip компресия) |
| Поредност на байтовете (Endianness) | Неприложимо (Текстов поток от символи UTF-8 / UTF-16) |
| Цветови пространства | sRGB, CSS Color Module 4 (Display P3, lab, lch) |
| Канали и структура | Векторни форми с неограничена резолюция, криви на Безие, типография и маски за непрозрачност |
| Максимални размери | Независимо от разделителната способност (мащабира се неограничено до всеки изглед без пикселизация) |
| Прозрачност | Пълна прозрачност с променлива алфа стойност и CSS режими на смесване |
| Поточно предаване и прогресивно зареждане | Потоково анализиране на текст, поддържано от XML парсера на браузъра |
Техническа сравнителна матрица: SVG спрямо конкуренти
| Технически атрибут | SVG (Текущ) | HTML5 Canvas | PNG | |
|---|---|---|---|---|
| Модел на рендиране | Векторен DOM със запазено състояние (Retained mode) | Растерно платно с незабавен режим (Immediate mode) | Контейнер за страница с фиксирано оформление и запазено състояние | Растерна пикселна мрежа |
| Стилизиране и CSS | Напълно стилизируем чрез CSS класове и променливи | Изисква прерисуване чрез API за платно на JavaScript | Няма динамично CSS стилизиране | Фиксирани растерни пиксели |
| Безкрайна мащабируемост | Да (математически векторни криви) | Изисква ръчно мащабиране на резолюцията | Да (векторни елементи) | Не (пикселизира се при уголемяване) |
| Интерактивност | Нативни DOM събития (посочване, кликване, анимации) | Изисква математически изчисления за ръчно засичане на попадения | Статичен документ | Изисква карта на изображението или платно |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Браузърът показва грешка при анализиране на XML: незатворен токен или несъответстващ таг.
Първопричина: Неправилен XML синтаксис, липсващи затварящи тагове или неекранирани амперсанди ('&' вместо '&').
Възстановяване: Валидирайте с XML линтер (xmllint file.svg) и коригирайте несиметричните тагове.
Анализ на сигурността и вектори на атака към парсера
Тъй като SVG е изпълним XML, който поддържа тагове '<script>' и външни обекти, той представлява значителни рискове за XSS и SSRF, ако се показват ненадеждни SVG файлове.
Известни вектори на атака
- Съхранена атака със скриптиране между сайтове (XSS) чрез вградени тагове '<script>' или манипулатори на събития 'onload='.
- Атаки с външни XML обекти (XXE), които позволяват прочитане на локални файлове при обработка на XML на сървъра.
- Разширяване на XML обекта от типа 'Милиард смехове', причиняващо отказ от услуга.
Най-добри практики за защита: Винаги почиствайте SVG файловете с помощта на DOMPurify преди вграждане или ги предоставяйте с 'Content-Security-Policy: default-src 'none'' или като тагове '<img>', които автоматично деактивират скриптовете.
Исторически произход и етапи
Основни предимства
- Неограничено мащабиране без загуба на качество: ясни линии и текст при всякакъв мащаб на дисплея или при печат.
- Изключително малък размер на файла за лога, икони и елементи на потребителския интерфейс.
- Напълно скриптируем и подходящ за стилизиране чрез CSS и JavaScript в рамките на DOM на браузъра.
Технически ограничения и минуси
- Неподходящ за фотографии или сложни изображения с непрекъснат тон.
- Сложните векторни пътеки с хиляди възли могат да доведат до забавяне на изчисляването от процесора и висока консумация на батерията.
- XML форматът позволява вграждане на скриптове, затова ненадеждните качени файлове трябва да се пречистват стриктно преди визуализиране.
Интересни технически факти
- Gzip може значително да намали размера на някои SVG файлове; намалението зависи от съдържанието на документа и настройките за компресиране.
- Атрибутът viewBox определя абстрактно координатно платно, което се съпоставя динамично към физическите пиксели на екрана.
- Ранните уеб браузъри първоначално нямаха вградени SVG двигатели, което накара Adobe да разпространи плъгина за браузър Adobe SVG Viewer, преди вградената поддръжка в браузърите да се утвърди около 2011 г.
Често задавани технически въпроси
Могат ли SVG файловете да съдържат зловреден код?
Да. Тъй като SVG е валиден XML, той може да съдържа вграден JavaScript ('<script>'), който се изпълнява, ако SVG файлът се рендира директно в браузър или се отвори във вграден елемент '<svg>'. Предоставянето на SVG файлове чрез таг '<img>' автоматично неутрализира изпълнението на скриптове.
Кога трябва да използвам SVG вместо PNG?
Използвайте SVG за икони, лога, диаграми, илюстрации и текст, когато са нужни ясно изобразяване при всякакъв размер на екрана и малък размер на файла. Използвайте PNG или WebP за фотографии.
Как мога да оптимизирам големи или сложни SVG файлове?
Можете да почистите векторните пътеки чрез премахване на излишни метаданни, коментари от редактори (от Inkscape или Illustrator), невидими групи и неизползвани декларации на пространства от имена, като използвате инструменти като SVGO или като стартирате SVG компресия.
Свързани двойки за конвертиране на SVG
Конвертирането на SVG векторни файлове в PNG растерни изображения преобразува мащабируеми графики, базирани на код, във фиксирани пикселни мрежи за универсална съвместимост с приложенията.
Капсулирайте съдържанието на растерни PNG изображения в SVG XML векторен контейнер за гъвкаво уеб мащабиране и интегриране във векторно-съвместими оформления.
Преобразувайте стари 16-битови записи на векторни чертежи от Windows GDI в съвременни, мащабируеми SVG контури без загуба на резолюция.
Конвертирайте 32-битови Windows Enhanced Metafile графики в чисти, адаптивни SVG вектори за уеб и дизайн софтуер.
Конвертирането на DXF чертеж към SVG файл за CAD преобразува сложни инженерни векторни данни в леки XML графики за уеб браузъри и векторни редактори.
Конвертирането на мащабируема векторна графика във формат за обмен на чертежи превежда готови за уеб визуални вектори в прецизни математически координати, изисквани от софтуера за автоматизирано проектиране.
Споделете SVG лого или илюстрация като PDF от една страница. Мащабируемите му контури се превръщат в изображение с фиксирана резолюция, така че при увеличаване не може да се възстанови векторният детайл.