Scalable Vector Graphics: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
м Відкинуто редагування 130.180.218.30 (обговорення) до зробленого Binc
Bilyavchyk (обговорення | внесок)
м правопис
Рядок 12:
| extended to =
}}
'''Scalable Vector Graphics''' (скорочено SVG) (з англ. ''масштабована векторна графіка'')&nbsp;— специфікація [[мова розмітки даних|мови розмітки]], що базується на [[XML]], та [[формат файлів]] для двовимірної векторної графіки, як статичної, так і [[Анімація|анімованої]] та інтерактивної. SVG може бути виключно декларативним, або містити описи сценаріїв. Зображення можуть містити зовнішні посилання шляхом застосування простих [[XLink]]-ів.<ref>{{cite book |last=Watt |first=Andrew |coauthors=Chris Lilley, Daniel J. Ayers et al |title=SVG Unleashed |year=2003 |publisher=SAMS |location=Indianapolis |id=ISBN 0-672-32429-6 |page=P. 77 }}</ref> Ця специфікація є відкритим стандартом, розробленим робочою групою {{lang-en|[[SVG Working Group]]}} організації [[World Wide Web Consortium]].
 
== Історія розвитку ==
Рядок 20:
* SVG 1.1 став рекомендацією W3C 14 січня 2003.<ref>W3C Recommendation, ''[http://www.w3.org/TR/SVG11/ SVG 1.1 Specification]'' (2003-01-14)</ref> Специфікація 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.<ref>W3C Candidate Recommendation, ''[http://www.w3.org/TR/2006/CR-SVGMobile12-20060810/ SVG Tiny 1.2 Specification]'' (2006-08-10)</ref><ref>[http://lists.w3.org/Archives/Public/www-svg/2006Aug/0036.html SVG Tiny 1.2 is now a Candidate Recommendation]</ref>, і офіційною рекомендаціїрекомендацією W3C — 22 грудня 2008<ref>[http://www.w3.org/News/2008.html#entry-6720 SVG Tiny 1.2 Advances State of the Art for Web Graphics]</ref>. 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 додає багатосторінкові документи і обов'язкову підтримку управління кольорами.
 
Рядок 77:
== Властивості і переваги формату ==
[[Файл:Bitmap_VS_SVG.svg|thumb|Малюнок демонструє відмінність між растровою та векторною графіками. Растрове зображення утворене з окремих крапок-[[піксел]]ів, в той час як векторне зображення утворене з комбінації форм. При збільшенні або деформації пікселі растрового зображення стають помітні, тоді як векторний малюнок зберігає форму]]
* Текстовий формат — файли 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]] ({{lang-en|Cascading Style Sheets}}). Відображенням (форматуванням і декоруванням) SVG елементів можна управляти за допомогою таблиці стилів CSS 2.0 і її розширень, або безпосередньо за допомогою атрибутів SVG елементів.
 
Рядок 100:
<source lang="xml"><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"></source>
На жаль, в деяких випадках при застосуваннязастосуванні [[Mozilla Firefox]] з вбудованим переглядачем SVG, зміст оголошення DOCTYPE може бути джерелом помилок. Є рекомендації не використовувати декларацію DOCTYPE в SVG версій 1.0 і 1.1. Натомість рекомендовано включати атрибут baseProfile в кореневий елемент <svg> із значенням «full»<ref>[http://jwatt.org/svg/authoring/#doctype-declaration SVG Authoring Guidelines:Don’t include a DOCTYPE declaration]{{ref-en}}</ref>. Якщо з якихось причин декларація DOCTYPE в документі необхідна, рекомендовано використовувати порожню декларацію, як в прикладі.
<source lang="xml">
<!DOCTYPE svg [