Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Статьи - разминка для умаСтандарт масштабируемой векторной графики SVG (Scalable Vector Graphics)

Стандарт масштабируемой векторной графики SVG (Scalable Vector Graphics)


SVG (Scalable Vector Graphics, стандарт масштабируемой векторной графики) - формат описания двумерных векторных графических изображений, основанный на XML и подготовленный консорциумом W3C (World Wide Web Consortium). Векторная графика намного эффективнее используемой в настоящее время растровой графики. Основная причина:

SVG-файлы представляют собой обычный текст, и они чаще всего занимают меньший объем, чем аналогичные графические образы в форматах JPEG или GIF. Другие преимущества векторной графики включают способность изменения размеров без потери качества.

Используя элементы, которые определяют форму объектов, пути и текст, SVG позволяет разработчикам создавать программный код вместо растровых изображений

Текстовый вид позволяет привязывать к изображению его смысловое описание, доступное, например, для индексирования поисковыми системами. SVG также поддерживает скрипты и анимацию, что дает возможность создавать на его основе динамические интерактивные графические приложения.

Спецификация формата SVG является одним из наиболее перспективных решений для использования векторной графики в Internet/Intranet. Она разрабатывается World Wide Web Consortium с участием специалистов крупнейших софтверных корпораций. В общих чертах проект предусматривает создание более гибкой и менее объёмной Web-графики, естественно, при большей интеграции с Web-документами. Векторная графика может быть легко масштабирована, что позволит представлять её на различных устройствах, начиная с дисплеев сотовых телефонов и заканчивая мониторами с большим экраном и экранами коллективного пользования.

Перевод графики в XML позволит повысить уровень интеграции и позволит управлять ей с помощью тех же инструментов, какими мы управляем данными и текстом.

В консорциуме рассчитывают, что SVG в состоянии стать для графики таким же значимым инструментом, каким XML уже стал для документов и Web-данных.

Чтобы показать насколько компактно изображение в формате SVG с точки зрения занимаемого им дискового пространства рассмотрим небольшой пример кода SVG-файла.


<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20020502//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20020502.dtd">
<svg width="300" height="200">
<title>Example SVG code</title>
<path d="M 0,0 c10,100 250,100 250,200" style="fill:none;stroke:blue; stroke-width:3 "/>
</svg>

Получим кривую Безье:


Рис. 1 Кривая Безье

Размер полученного файла 325 байт, для сравнения файл в формате GIF, с двадцатью цветной палитрой, занимает 1.66 Кбайт.

Давайте посмотрим на качество масштабируемости, увеличим изображение в четыре раза.

Фрагмент изображения в SVG формате:


Рис. 2 Фрагмент изображения кривой Безье в SVG формате

Фрагмент изображения в GIF формате:


Рис. 3 Фрагмент изображения кривой Безье в GIF формате


Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95