SVG (1)

SVG - Scalable Vector Graphics jest językiem opisującym d wuwymiarową grafikę wektorową. Ma on ogromną przewagę na zwykłą grafiką restrową ( JPEG ) w której zapisywany jest każdy piksel. W grafice wektorowej każda bryła jest opisana matematycznie. Daje to w efekcie wiele wymiernych korzyści:

  1. Bardzo dobra jakość zarówno w postaci elektronicznej, jak i druku
  2. Obrazek można edytować nawet w zwykłym notatniku
  3. Mniejszy rozmiar od obrazu grafiki rastrowej
  4. Można zmienić dowolny element, bez potrzeby ponownego tworzenia dokumentu
  5. Obraz można dowolnie skalować

SVG jest zgodny ze wszystkim dotychczasowymi standardami Word Wide Web Consorcium. Język ten należy do rodziny XML. Ma on bardzo wiele zalet, mi. jest łatwy do nauczenia. Posiada on taką samą składnię jak każdy inny język z rodziny XML. Miejmy nadzieje, że nie podzieli on losu SMIL czy PGML'a który jest raczej martwym językiem. Dla zwykłego użytkownika nie posiadającego przeglądarki bądź plug-in'a. Jest to największa bariera jak może spotkać ten język.

W SVG wyróżniamy cztery podstawowe rodzaje figur; rect (prostokąt), elipse (elipsa), cricle (okrąg) oraz poligon (wielokąt). Twórca dokumentu może ustalić rozmiar i położenie każdej z tych brył. Poza tymi czterema rodzajami użytkownik może stworzyć swoją własną bryłę za pomocą znacznika <path/>. Określa on łuki i łamane. Twórca może określić kolor, grubość obramowania oraz jego kolor. Może także grupować obiekty za pomocą znacznika <g> A oto przykład dokumentu, w którym zapisana jest okrąg.

przykład 1.1

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG August 1999//EN" 
"http://www.w3.org/Graphics/SVG/svg-19990812.dtd">
<svg>
<cricle style="fill:blue; stroke:red;" cx="200" cy="200" r="15"/>
</svg>
Atrybut FILL określa kolor wypełnienia figury, drugi atrybut - STROKE określa kolor obramowania. Za pomocą atrybutu R określa się promień figury.Domyślna wartość to piksele, a więc figura ma 30px. średnicy. Atrybuty x i y określają pozycję obiektu ( x - rzędne, y - odcięte ). Twórca może także wprowadzić do dokumentu grafiki SVG, dokument grafiki rastrowej. Musi użyć do tego celu <image xlink:href="" />. Poza tym w dokumencie SVG można także używać zdarzeń takich jak onMouseover, onMouseout, onClick itp. Jak można było zauważyć na przykładzie 1.1 atrybut x został zamieniony na cx, a y na cy. Tak powinien poprawnie wyglądać ten atrybut. W przypadku prostokontu (rect) atrybuty będą miały wygląd rx i ry, w przypadku wieloboku (polygon) px i py, w przypadku elipsy (elipse) ex i ey. A teraz podam wartości atrybutu STROKE: stroke-witdh określa grubość obramowania figury. Domyślną jednostką miary jest piksel (px). Stroke-anysaling określla stopień przezroczystości figury. Czasmi zachodzi potrzeba zgrupowania kilku figur na przykłąd wtedy gdy wszystkie są tak samo formatowane. Takie rozwiązanie ma dwie zalety: oszczędzamy czas nie pisząc kilka razy tego samego oraz upraszczamy kod. Obrazuje to przykład 1.2.

Przykład 1.2

<g style="fill:blue; stroke-width:5;">
<cricle cx="5" cy="45" r="12"/> 
<cricle cx="34" cy="89" r="55"/>
</g>

Za pomocą znacznika <g> określmy styl wszystkich obiektów podrzędnych jako niebieskie obramowanie szerokości 5 pikseli. Unikamy dzięki temu przepisywania dwa razy tego samego kodu. Efektem tego są dwa okręgi różnej wielkości formatowane w ten sam sposób.

Linie

Linie definiuje się za pomocą znacznika polyline. Ma on jeden atrybut: points. Ma on następującą postać: <polyline points="początek lini, koniec lini". Grubość i kolor lini określ się tak samo jak w przypadku zwykłych brył. Oczywiście linia nie musi być prosta. Może narysować jakąś łamaną. Np.
points="350,375 350,250 450,250 450,375
550,375 550,175 650,175 650,375
750,375 750,100 850,100 850,375
950,375 950,25 1050,25 1050,375
1150,375"

Da nam łamaną otwartą. Przykład zaczerpnięty z dokumentu ze strony W3C.

Wielobok - znacznik polygon

Wielobok definiuje się w taki sam sposób jak łamaną. Jednak zamiast znacznika polyline używa się znacznika <polygon/> Początek odcinków określ się tak samo jak w przypadku lini za pomocą atrybutu points.

Kurs pochodzi z serwisu HTMLZone serwis webmasterów.

 

  Copyright 2001 at-online. Wszelkie prawa zastrzeżone.