Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Scalable Vector Graphics

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено зSVG)
Scalable Vector Graphics
Розширення:..svg,.svgz
MIME-тип:image/svg+xml[1]
Розробник:World Wide Web Consortium
Тип формату:формат файлів векторної графіки
Розширений з:XML
Сайт:w3.org/Graphics/SVG/(англ.) Редагувати інформацію у Вікіданих

Scalable Vector Graphics (скорочено SVG) (з англ.масштабована векторна графіка) — специфікаціямови розмітки, що базується наXML, таформат файлів для двомірної векторної графіки, як статичної, так іанімованої та інтерактивної. SVG може бути виключно декларативним, або містити описи сценаріїв. Зображення можуть містити зовнішні лінки шляхом застосування простихXLink-ів.[2] Ця специфікація є відкритим стандартом, розробленим робочою групоюангл.SVG Working Group організаціїWorld Wide Web Consortium.

Історія розвитку

[ред. |ред. код]

SVG був розроблений робочою групою W3C SVG Working Group, починаючи від1998, після того якMacromedia таMicrosoft ввелиVector Markup Language (VML), і водночасAdobe Systems таSun Microsystems представили конкуруючий форматPGML. Робочу групу очолив Chris Lilley з W3C.

  • SVG 1.0 набув статусу рекомендації W3C 4 вересня 2001.[3]
  • SVG 1.1 став рекомендацією W3C 14 січня 2003.[4] Специфікація SVG 1.1 має модульну структуру, щоб дозволити реалізовувати підмножину формату в профілях. Крім цього, між SVG 1.1 та SVG 1.0 дуже мало відмінностей.
    • SVG Tiny та SVG Basic (Мобільний профіль SVG) стали рекомендацією W3C водночас, 14 січня 2003. Вони описані як профілі SVG 1.1.
  • SVG Tiny 1.2 став кандидатом в рекомендації W3C 10 серпня 2006.[5][6], і офіційною рекомендацією W3C — 22 грудня 2008[7]. SVG Full 1.2 є робочим нарисом (W3C Working Draft). SVG Tiny 1.2 спочатку був випущений як профіль, але пізніше перероблений у повноцінну специфікацію, включаючи всі необхідні частини від SVG 1.1 та SVG 1.2. SVG 1.2 Full додає модулі всередину ядра SVGT 1.2.
  • SVG Print додає багатосторінкові документи і обов'язкову підтримку управління кольорами.

Підтримка в браузерах

[ред. |ред. код]
Браузеру версііпідтримує
Internet Explorer8.0ні[8], вбудована підтримка з'явилась лише в IE9 beta[9][10]
Mozilla Firefoxз 1.5[11]так
Netscape Navigator9.0так
Google Chrome3.0так
Safari4.0так
Operaз 8.0так
Chromium6.0так

Microsoft приєдналася до W3C SVG Working Group на початку 2010 року[12], після тривалих вагань стосовно власницьких рішень і конкуруючих рішень в царині вебграфіки.

Властивості та переваги формату

[ред. |ред. код]
Малюнок демонструє відмінність між растровою та векторною графіками. Растрове зображення утворене з окремих крапок-пікселів, в той час як векторне зображення утворене з комбінації форм. При збільшенні або деформації пікселі растрового зображення стають помітні, тоді як векторний малюнок зберігає форму
  • Текстовий формат — файли SVG можна читати і редагувати за допомогою звичайних текстових редакторів. Працювати з SVG без засобів візуального програмування не складніше ніж зHTML. При прогляданні документів SVG, що містять графіку, є доступ до проглядання коду файлу, що проглядається, і можливість збереження всього документу. Крім того, SVG файли зазвичай виходять меншими за розміром, ніж порівнянні за якістю зображення у форматахJPEG абоGIF, а також добре піддаються стисненню.
  • Масштабованість — SVG є векторним форматом. Існує можливість збільшити будь-яку частину зображення SVG без втрати якості. Додатково, до елементів SVG документу можливо застосовувати фільтри — спеціальні модифікатори для створення ефектів, подібних вживаним при обробці растрових зображень (розмиття, витискування, складні системи трансформації тощо). В тексті SVG-коду фільтри описуються тегами, візуалізацію яких забезпечує засіб перегляду, що не впливає на розмір початкового файлу, забезпечуючи при цьому необхідну ілюстративну виразність.
  • Широко доступне використання растрової графіки в SVG документах. Є можливість вставляти елементи із зображеннями у форматахPNG,GIF абоJPG.
  • Текст в графіці SVG є текстом, а не зображенням, тому його можна виділяти і копіювати, він індексується пошуковими машинами, не потрібно створювати додаткові метафайли для пошукових серверів.
  • Анімація реалізована в SVG за допомогою мовиSMIL (Synchronized Multimedia Integration Language), розробленої також консорціумомW3C. Підтримуютьсяскриптові мови на основі специфікаціїECMAScript. SVG-елементами можна керувати за допомогоюJavaScript.Застосування скриптів і анімації в SVG дозволяє створювати динамічну і інтерактивну графіку. У SVG забезпечується подієва модель, відстежуються події (завантаження сторінки, зміна її параметрів, події миші, клавіатури тощо). Анімація може запускатися по певній події (наприклад «onmouseover» або «onclick»), що додає графіці інтерактивність. У кожного елементу є свої власні події, до яких можна прив'язувати окремі скрипти.
  • SVG — відкритийстандарт. На відміну від деяких інших форматів, SVG не є чиєюсь власністю.
  • SVG документи легко інтегруються зHTML іXHTML документами. Зовнішні SVG підключаються через тег <embed>, значення атрибуту src ім'я файлу з розширенням «.svg», що містить розмітку SVG. Атрибути width і height визначають розміри області SVG по горизонталі і по вертикалі. Елементи SVG сумісні зHTML іDHTML.
  • Сумісність зCSS (англ.Cascading Style Sheets). Відображенням (форматуванням і декоруванням) SVG елементів можна управляти за допомогою таблиці стилів CSS 2.0 і її розширень, або безпосередньо за допомогою атрибутів SVG елементів.

SVG надає всі перевагиXML:

  • Можливість роботи в різних середовищах.
  • Інтернаціоналізація (підтримкаЮнікоду).
  • Широка доступність для різних застосувань.
  • Легка модифікація через стандартніAPI — наприклад,DOM. SVG підтримує стандартизовану W3C об'єктну модель документу DOM, забезпечуючи доступ до будь-якого елементу, що дає широкі можливості з динамічної модифікації елементів, їхніх атрибутів і подій.
  • Легке перетворення таблицями стилівXSLT. Як будь-який заснований наXML формат, SVG дає можливість використовувати для його обробки таблиці трансформації (XSLT). Перетворюючи XML-дані в SVG за допомогою простого XSL, можна легко отримати графічне представлення будь-яких даних, наприклад візуалізувати хімічні молекули, описаних на мові CML (Chemical Markup Language).

Структура SVG документа

[ред. |ред. код]

Перший рядок — стандартний заголовок XML, оголошення (англ.XML declaration), який вказує версію XML (version) (зазвичай «1.0») і кодування символів (encoding) (бажано використовуватиЮнікод кодуванняUTF-8 абоUTF-16, але інші так само допустимі, наприклад,Windows-1251 іKOI-8):

<?xml version="1.0" encoding="UTF-8"?>

У другому і третьому рядках повинен розташовуватися заголовок DOCTYPE, що визначає тип документа (Document Type Definitions)DTD:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

На жаль, в деяких випадках при застосуванніMozilla Firefox з вбудованим переглядачем SVG, зміст оголошення DOCTYPE може бути джерелом помилок. Є рекомендації не використовувати декларацію DOCTYPE в SVG версій 1.0 і 1.1. Натомість рекомендовано включати атрибут baseProfile в кореневий елемент <svg> зі значенням «full»[13]. Якщо з якихось причин декларація DOCTYPE в документі необхідна, рекомендовано використовувати порожню декларацію, як в прикладі.

<!DOCTYPE svg [    <!-- ваші дані -->]>

У четвертому рядку, розміщується кореневий елемент документа з вказівкою простору імен SVG

<svgversion ="1.1"baseProfile="full"xmlns ="http://www.w3.org/2000/svg"xmlns:xlink ="http://www.w3.org/1999/xlink"xmlns:ev ="http://www.w3.org/2001/xml-events"height ="100%"width ="100%"></svg>

Далі йде решта тексту документа, вкладена в кореневий елемент, де власне розташовуються елементи, що описують зміст кодованої сцени. Завершується документ завжди закриттям кореневого тегу</svg>.

Приклад

[ред. |ред. код]

Простий статичний документ SVG (містить: контурквадрата розміром 400пікселів і три напівпрозоріколарадіусом 100 пікселів, по центру квадрата, кожне коло зміщується від центру квадрата приблизно на пів радіусу).

Для відображення малюнку потрібний браузер з вбудованим переглядом формату чи зі встановленим плагіном.

<?xml version="1.0" encoding="utf-8" standalone="yes"?><svgversion ="1.1"baseProfile="full"xmlns ="http://www.w3.org/2000/svg"xmlns:xlink ="http://www.w3.org/1999/xlink"xmlns:ev ="http://www.w3.org/2001/xml-events"height ="400px"width ="400px"><rectx="0"y="0"width="400"height="400"fill="none"stroke="black"stroke-width="5px"stroke-opacity="0.5"/><gfill-opacity="0.7"stroke="black"stroke-width="0.5px"><circlecx="200px"cy="200px"r="100px"fill="red"transform="translate(  0,-50)"/><circlecx="200px"cy="200px"r="100px"fill="blue"transform="translate( 70, 50)"/><circlecx="200px"cy="200px"r="100px"fill="green"transform="translate(-70, 50)"/></g></svg>
Кресленик виконано в КОМПАС-Графік та експортовано у SVG формат

Стиснення SVGZ

[ред. |ред. код]

Оскільки код SVG займає досить багато місця, була створена «обгортка» SVGZ, коли файл SVG упаковують вgzip, а отриманому архіву зазвичай надають розширення «SVGZ».

SVG добре стискається[14], оскільки це текстовий XML-документ, що має регулярну структуру.

Специфікації стандарту

[ред. |ред. код]


Виноски

[ред. |ред. код]
  1. M Media Type registration for image/svg+xml. Архіворигіналу за 14 березня 2016. Процитовано 18 січня 2008.
  2. Watt, Andrew; Chris Lilley, Daniel J. Ayers et al (2003).SVG Unleashed. Indianapolis: SAMS. с. P. 77.ISBN 0-672-32429-6.{{cite book}}:|page= має зайвий текст (довідка)
  3. W3C Recommendation,SVG 1.0 Specification[Архівовано 11 травня 2008 уWayback Machine.] (2001-09-04)
  4. W3C Recommendation,SVG 1.1 Specification[Архівовано 16 вересня 2012 уWayback Machine.] (2003-01-14)
  5. W3C Candidate Recommendation,SVG Tiny 1.2 Specification[Архівовано 18 квітня 2008 уWayback Machine.] (2006-08-10)
  6. SVG Tiny 1.2 is now a Candidate Recommendation. Архіворигіналу за 24 червня 2008. Процитовано 25 квітня 2008.
  7. SVG Tiny 1.2 Advances State of the Art for Web Graphics. Архіворигіналу за 4 січня 2010. Процитовано 7 січня 2010.
  8. Svensson, Peter (10 вересня 2008).Creator of Web spots a flaw in Internet Explorer(англ.).Associated Press,msnbc.com. Архіворигіналу за 25 серпня 2011. Процитовано 30 листопада 2009.{{cite news}}:Проігноровано невідомий параметр|description= (довідка)
  9. HTML5, Hardware Accelerated: First IE9 Platform Preview Available for Developers. Архіворигіналу за 22 березня 2010. Процитовано 17 березня 2010.
  10. Platform Preview gives Web developers first taste of IE9. Архіворигіналу за 22 березня 2010. Процитовано 17 березня 2010.
  11. Brockmeier, Joe (30 листопада 2005).Review: Firefox 1.5 and Thunderbird 1.5.Linux.com(англ.). Процитовано 30 листопада 2009.
  12. Microsoft Joins W3C SVG Working Group. Архіворигіналу за 8 січня 2010. Процитовано 7 січня 2010.
  13. SVG Authoring Guidelines: Don't include a DOCTYPE declaration[Архівовано 14 квітня 2008 уWayback Machine.](англ.)
  14. Minimizing SVG File Sizes - SVG 1.1 Specification. Архіворигіналу за 30 вересня 2011. Процитовано 21 серпня 2011.

Посилання

[ред. |ред. код]

Бібліотеки

[ред. |ред. код]

Програмне забезпечення

[ред. |ред. код]

Див. також

[ред. |ред. код]
Растрові формати
Raw
Векторні формати
Комплексні формати
Пов'язані формати
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Scalable_Vector_Graphics&oldid=39606374
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp