O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 24 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Svg (20)

Mais recentes (20)

Anúncio

Svg

  1. 1. 10 Mon
  2. 2. SVG Масштабируемая векторная графика (Scalable Vector Graphics — SVG) является языком разметки расширенным из XML для описания двухмерной векторной графики. SVG по существу является графикой, так же, как XHTML — текстом. SVG является рекомендацией W3C (то есть, стандартом)
  3. 3. <svg> <!--SVG content--> </svg> <img src="logo.svg" alt="Company Logo“ > .el {background: url(mySVG.svg);} <object type="image/svg+xml" data="mySVG.svg"> <!--fallback--> </object> <embed type="image/svg+xml" src="mySVG.svg" /> <iframe src="mySVG.svg"> <!--fallback--> </iframe> Шесть способов подключить svg
  4. 4. Базовые фигуры
  5. 5. Прямоугольник Круг Эллипс Ломаная линия Многоугольник Элемент <text>
  6. 6. Элемент path Данные path содержатся в атрибуте d внутри элемента <path>, определяя форму фигуры: <path d="<конкретные данные path>" />. <svg width="258px" height="184px"> <path fill="#7AA20D" stroke="#7AA20D" stroke-width="9" stroke-linejoin="round" d="M248.761,92c0,9.801-7.93,17.731- 17.71,17.731c-0.319,0-0.617,0-0.935- 0.021c-10.035,37.291-51.174,65.206- 100.414,65.206 c-49.261,0-90.443-27.979- 100.435-65.334c-0.765,0.106-1.531,0.149- 2.317,0.149c-9.78,0-17.71-7.93-17.71- 17.731 c0-9.78,7.93-17.71,17.71- 17.71c0.787,0,1.552,0.042,2.317,0.149C39. 238,37.084,80.419,9.083,129.702,9.083 c49.24,0,90.379,27.937,100.414,65.228h0.0 21c0.298-0.021,0.617-0.021,0.914- 0.021C240.831,74.29,248.761,82.22,248.761 ,92z" /> </svg>
  7. 7. Рабочая область Область просмотра устанавливается атрибутами height и width в элементе <svg>. viewBox дает возможность указать, что данный набор графических элементов растягивается, чтобы уместиться в определенный элемент- контейнер. Эти значения включают четыре числа, разделённые запятыми или пробелами: min-x, min-y, width и height <svg width="115" height="190" viewBox="0 0 115 190"> <!--<path <контур изображения груши> />--> </svg> <svg width="115px" height="190px" viewBox="0 0 65 140"> <!--<path <контур изображения груши> />--> </svg>
  8. 8. Заливки • Атрибут fill раскрашивает внутреннюю часть определённого графического элемента. Это заливка может состоять из сплошного цвета, градиента или паттерна. • Внутренняя часть фигуры определяется путём анализа всех подконтуров и параметров, описанных в fill-rule. • Допустимые значения fill-rule - nonzero, evenodd, inherit.
  9. 9. Градиент <svg width="405" height="105"> <defs> <linearGradient id="Gradient1" x1="0" y1="0" x2="100%" y2="0"> <stop offset="0%" stop-color="#BBC42A" /> <stop offset="100%" stop-color="#ED6E46" /> </linearGradient> </defs> <rect x="2" y="2" width="400" height="100" fill= "url(#Gradient1)" stroke="#333333" stroke-width="4px" /> </svg>
  10. 10. • Атрибут stroke определяет закрашивание «границы» конкретных фигур и контуров. • У следующего изображения будет сиреневая обводка: stroke = "#765373". stroke-linecap stroke-linejoin Обводка
  11. 11. Организация документа
  12. 12. Элемент g Элемент g является контейнером для группировки связанных графических элементов. Элемент use Элемент <use> позволяет повторно использовать элементы в любом месте документа.
  13. 13. • Элемент defs Графика внутри элемента <defs> не отображается на холсте, но на нее можно ссылаться и затем отображать ее посредством xlink:href. <svg> <defs> <linearGradient id="Gradient-1"> <stop offset="0%" stop-color="#bbc42a" /> <stop offset="100%" stop-color="#765373" /> </linearGradient> </defs> <rect x="10" y="10" width="200" height="100" fill= "url(#Gradient-1)" stroke="#333333" stroke-width="3px" /> </svg>
  14. 14. Элемент symbol Элемент <symbols> похож на <g>, так как предоставляет возможность группировать элементы, однако, элементы внутри <symbols> не отображаются визуально (как и в <defs>) до тех пор, пока не будут вызваны с помощью элемента <use>. Также, в отличие от элемента <g>, <symbols> устанавливает свою собственную систему координат, отдельно от области просмотра, в которой он отображается.
  15. 15. Практические примеры
  16. 16. Графические приложения, позволяющие создавать SVG-графику •Adobe Illustrator •CorelDRAW Graphics Suite •Mayura Draw •Sketsa SVG Editor •Inkscape
  17. 17. Основные библиотеки для работы с SVG • Vivus - http://maxwellito.github.io/vivus/ • Bonsai - https://bonsaijs.org/ • Velocity - http://julian.com/research/velocity/ • Raphaël - http://raphaeljs.com/ (http://g.raphaeljs.com/) • Snap - http://snapsvg.io/ • Lazy Line Painter - http://lazylinepainter.info/ • SVG.js - http://svgjs.com/ • Walkway - https://github.com/ConnorAtherton/walkway
  18. 18. HIGHCHARTS JS $('#container').highcharts({ chart: { renderTo: 'charts', defaultSeriesType: 'bar' }, title: { text: 'Сравнение' }, xAxis: { categories: ['Ром', 'Коньяк', 'Виски'] }, yAxis: { title: { text: 'Стопок выпито за вечер' } }, series: [{ name: 'Женя', data: [1, 0, 4] }, { name: 'Саша', data: [5, 7, 3]}] });
  19. 19. CANVAS vs. SVG (СРАВНЕНИЕ)
  20. 20. CANVAS SVG Формат Растровый Векторный Масштабирование Zoom Scale Доступ Доступ к отдельным пикселям (RGBA) Доступ к отдельным элементам (DOM) Индексируемость и Accessibility Виден только конечный растр (нельзя выделить фигуры, текст и т.п.) — плохо для Accessibility Можно посмотреть структуру (например, вытащить весь текст) Стилизация Визуальные стили задаются при отрисовке через API Визуальные стили задаются атрибутами, можно подключать CSS Программирование JS API для работы с примитивами DOM для работы с элементами Обновление Для обновления — рисование поверх или полная перерисовка Возможно изменение отдельных элементов События Нет легкого способа для обработки событий мыши. Объекты под курсором надо определять вручную. Легко вешаются события от мыши через DOM, обрабатываются автоматически. Интеграция кода Код на JS отдельно от Canvas Внутрь можно включать JS
  21. 21. Лучше подходит Canvas •Редактирование растровой графики •Наложение эффектов на графику/видео •Генерирование растровой графики (визуализация данных, фракталы, графики функций) •Анализ изображенией •Игровая графика (спрайты, фон и т.п.) Лучше подходит SVG •Масштабируемые интерфейсы •Интерактивные интерфейсы •Диаграммы, схемы •Векторное редактирование изображений
  22. 22. Производительность отрисовки при использовании Canvas и SVG
  23. 23. Полезные ссылки Примеры и учебники: 1. Примеры svg-графики с применением фильтров обработки изображений 2. Учебник на русском 3. Учебник на английском 4. Учебник Jacoba Jenkova Доклады: 1. Приручаем SVG – Лев Солнцев 2. Dmitry Baranovskiy - You Don't Know SVG 3. Introduction to SVG and RaphaelJS Таблица
  24. 24. СПАСИБО ЗА ВНИМАНИЕ

×