Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

SVG: Choinka z łuków okręgów

wtorek,

SVG: Choinka z łuków okręgów

Na końcu materiału znajdziesz kod źródłowy przykładu. Pracę nad projektem rozpocznij od zapoznania się z artykułem „SVG: Ścieżki – łuk okręgu”, prezentowany przykład to wykorzystanie zawartych tam informacji w praktyce. Do utworzenia choinki wykorzystano ścieżkę (path) i łuki eliptyczne, jej atrybut d zawiera komendy i argumenty. Komendy zapisane są literami:

  • M – ustawia punkt rysowania,
  • L – rysuje linię prostą od bieżącego punktu,
  • Z – zakończ ścieżkę łącząc bieżący punkt z jej początkiem,
  • A – rysuj łuk eliptyczny.

Ścieżka domyślnie ma czarne wypełnienie (atrybut fill), możesz zmienić jego kolor (np. fill="green") lub z niego zrezygnować (fill="none"). Za obramowanie odpowiada atrybut stroke. Prezentowana grafika ma wymiary 500 na 500 pikseli. W pierwszym kroku musisz określić kluczowe punkty kształtu, najlepiej rozpocząć od góry. Jako współrzędną x pierwszego punktu przyjęto połowę szerokości grafiki, choinka nie powinna przylegać do brzegu obrazu, dlatego współrzędna y ma wartość trochę większą od zera. W formacie SVG domyślnie współrzędne liczone są od lewego górnego rogu grafiki, w projekcie pierwszy punkt otrzymał współrzędne (250,10).

Na początku najłatwiej narysować jedną stronę choinki za pomocą linii, a następnie odbić punkty względem osi symetrii i przekształcić odcinki w łuki. Kolejny punkt otrzymał współrzędne (150,160) i znalazł się z lewej strony. Pierwszy odcinek można utworzyć za pomocą atrybutu d z wartością „M250,10 L150,160”, dopisując kolejne komendy L z odpowiednimi współrzędnymi, utworzysz lewą stronę choinki. Aby efekt pracy był widoczny już przy pierwszym odcinku, ścieżka otrzymała obramowanie (stroke).

Odbijając punkty po prawej stronie, współrzędną y przepisz z pierwowzoru. Współrzędna y powstanie po odjęciu od szerokości grafiki (500) wartości współrzędnej y pierwowzoru. Kolejny etap projektu to przekształcenie odcinków w krzywe. Najwięcej pracy wymaga dopasowanie promienia, jeśli będziesz eksperymentować, szybko zorientujesz się, jak wpływa on na kształt. Ponownie zacznij od góry i lewej strony, później po prawej stronie wystarczy przepisać parametry bliźniaczych łuków, zachowując odmienne punkty.

Po utworzeniu wszystkich łuków możesz usunąć obramowanie i dodaj ścieżkę rysującą pień drzewka, będzie się ona składać z dwóch linii i jednego łuku.

Poniżej znajduje się kod przykładu zapisany formacie SVG. Możesz go wkleić do edytora tekstowego (np. notatnika) i zapisać z rozszerzeniem svg lub wstawić do kodu strony internetowej.

<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg"
      style="background:#989898;">
    <path d="M230,390 L230,480
        A 40 40 0 0 0 270,480
        L 270,390"
        fill="#210a07" />
    <path d="M250,10
        A 300 300 0 0 1 150,160
        A 80 80 0 0 0 185,175
        A 260 260 0 0 1 110,250
        A 80 80 0 0 0 140,270
        A 260 260 0 0 1 70,340
    	A 300 300 0 0 0 430,340
    	A 260 260 0 0 1 360,270
    	A 80 80 0 0 0 390,250
    	A 260 260 0 0 1 315,175
    	A 80 80 0 0 0 350,160
    	A 300 300 0 0 1 250,10"
    	fill="green" />
</svg>
Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Artykuł: PiP i podobne technologie

PiP i podobne technologie

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły