Startpagina » Coding » Een kijkje in schaalbare vectorafbeeldingen (SVG)

    Een kijkje in schaalbare vectorafbeeldingen (SVG)

    Vectorafbeeldingen zijn op grote schaal toegepast in gedrukte media. In een website kunnen we ook vectorafbeeldingen toevoegen met SVG of Schaalbare Vectorafbeelding. Onder verwijzing naar de officiële specificatie op W3.org, wordt SVG beschreven als:

    Een taal voor het beschrijven van tweedimensionale grafische afbeeldingen in XML. SVG maakt drie soorten ßgrafische objecten mogelijk: vector grafische vormen (bijv. Paden bestaande uit rechte lijnen en curven), afbeeldingen en tekst.

    Het bestaat al sinds 1999 en vanaf 16 augustus 2011 werd het een W3C-aanbeveling. Toch wordt SVG nog steeds aanzienlijk onderbenut, terwijl er veel voordelen zijn bij het gebruik van Vector in plaats van bitmap om afbeeldingen of afbeeldingen op een website te presenteren.

    SVG-voordelen

    Met betrekking tot het weergeven van afbeeldingen op websites biedt SVG een aantal voordelen ten opzichte van Bitmap, waaronder enkele:

    Resolutie onafhankelijk

    Bitmap / rasterafbeelding is afhankelijk van de resolutie - het is gebaseerd op pixels. De afbeeldingen die worden weergegeven, zien er korrelig uit wanneer de grootte wordt gewijzigd op een bepaald zoomniveau. Dat gebeurt niet met vectorgrafiek, die resolutieonafhankelijk van aard is, aangezien de afbeelding wordt uitgedrukt met een wiskundige vergelijking waardoor het schaalbaar op elk zoomniveau met behoud van kwaliteit, zelfs bij Retina Display.

    HTTP-verzoek verlagen

    SVG kan rechtstreeks in een HTML-document worden ingesloten svg tag, zodat de browser geen aanvraag hoeft te doen om de afbeelding te presenteren. Dit resulteert ook in betere laadprestaties voor de website.

    Styling en scripting

    Direct insluiten met svg tag zal ons ook in staat stellen om de grafische stijl eenvoudig te modelleren via CSS. We kunnen verander objecteigenschappen zoals achtergrondkleur, dekking, randen, enz. op dezelfde manier als bij gewone HTML-tags. Op dezelfde manier kunnen we de afbeelding ook manipuleren via JavaScript.

    Kan worden geanimeerd en bewerkt

    Het SVG-object kan worden geanimeerd wanneer het het animatie-element gebruikt of via JavaScript Library zoals jQuery. Het SVG-object kan ook worden bewerkt met elke tekstcode-editor of grafische software zoals Inkscape (die gratis is) of Adobe Illustrator.

    Kleinere bestandsgrootte

    SVG heeft een kleinere bestandsgrootte in vergelijking met Bitmap, die een vergelijkbare grafische weergave heeft.

    Basisvormen tekenen met SVG

    Volgens de specificaties kunnen we enkele basisvormen tekenen zoals de rechthoek, cirkel, lijn, ellips, polylijn en polygoon met SVG en om de browser de SVG-afbeelding te laten weergeven, moeten al die grafische elementen worden ingevoegd in de ... label. Laten we de onderstaande voorbeelden bekijken voor meer details:

    Lijn

    Tekenen een lijn in SVG kunnen we de element. Dit element wordt gebruikt om een ​​enkele rechte lijn te tekenen, dus het zal slechts uit twee punten bestaan, begin en einde.

        

    Zoals je hierboven kunt zien, wordt de coördinaat van het lijnstartpunt uitgedrukt met de eerste twee attributen x1 en x2, terwijl de coördinaat van het eindpunt van de lijn wordt uitgedrukt met y1 en y2.

    Er zijn ook twee andere attributen, de beroerte en streekbreedte die worden gebruikt om respectievelijk de kleur van de rand en de breedte van de rand te bepalen. Als alternatief kunnen we deze kenmerken ook definiëren in een inline-stijl, zoals:

     

    het doet uiteindelijk hetzelfde.

    • Demo bekijken “Lijn”

    polyline

    Het is bijna vergelijkbaar met de , maar met de element kunnen we meerdere lijnen tekenen in plaats van slechts één. Hier is een voorbeeld:

        

    element heeft points attributen die alle coördinaten opslaan die de lijnen vormen.

    • Demo bekijken “polyline”

    Rechthoek

    Het tekenen van een rechthoek is ook eenvoudig hiermee element. We hoeven alleen de breedte en hoogte te specificeren, zoals:

        

    • Demo bekijken “Rechthoek”

    Cirkel

    We kunnen ook een cirkel tekenen met de element. In het volgende voorbeeld maken we een cirkel met 100 straal die is gedefinieerd met r attribuut:

        

    De eerste twee attributen, cx en cy definiëren de coördinaat van de cirkel in het midden. In het bovenstaande voorbeeld hebben we ingesteld 102 zowel voor de X en Y coördineren, als deze kenmerken niet zijn opgegeven, 0 wordt als standaardwaarde genomen.

    • Demo bekijken “Cirkel”

    Ellips

    We kunnen een ellips tekenen met . Het werkt vrij gelijkaardig aan de cirkel, maar deze keer kunnen we specifiek de X lijnradius en Y lijnradius met rx en ry attribuut;

        

    • Demo bekijken “Ellips”

    Veelhoek

    Met de element kunnen we meerdere zijden van vormen tekenen, zoals een driehoek, een zeshoek en zelfs een rechthoek. Hier is een voorbeeld:

        

    • Demo bekijken “Veelhoek”

    Vector grafische editor gebruiken

    Zoals u ziet, is het eenvoudig om eenvoudige objecten met SVG in HTML te tekenen. Wanneer het object echter ingewikkelder wordt, is die oefening niet langer ideaal en geeft het je hoofdpijn.

    Gelukkig, zoals we hierboven hebben vermeld, kunnen we een vector grafische editor gebruiken zoals Adobe Illustrator of Inkscape om het werk te doen. Als u bekend bent met deze software, is het zeker een stuk gemakkelijker om objecten met hun GUI te tekenen in plaats van de afbeelding zelf in HTML-code te coderen.

    Als u met Inkscape werkt, u kunt uw vectorafbeelding opslaan als gewone SVG en vervolgens openen in een tekstcode-editor. Nu zou u de SVG-codes in het bestand moeten vinden. Kopieer alle codes en plak deze in uw HTML-document.

    Of u kunt ook het .svg bestand door een van deze elementen; embed, iframe en voorwerp, bijvoorbeeld;

      

    De resultaten zullen uiteindelijk hetzelfde zijn.

    In dit voorbeeld gebruik ik deze Apple iPod van OpenClipArt.org.

    • Demo bekijken “iPod”

    Browserondersteuning

    Betreffende browserondersteuning is SVG zeer goed ondersteund in alle belangrijke browsers, behalve in IE8 en eerder. Maar deze kwestie kan worden opgelost met deze JavaScript-bibliotheek, Raphael.js genaamd. Om het u gemakkelijk te maken, gebruiken we deze tool, ReadySetRaphael.com, om onze SVG-code om te zetten in door Raphael ondersteunde indeling. Hier is hoe.

    Allereerst download en neem de Raphael.js bibliotheek naar uw HTML-document. Upload vervolgens het .svg bestand naar de site, kopieer en plak de gegenereerde code binnen de volgende lading functie;

     window.onload = function () // de Raphael-code komt hier 

    Binnen in de lichaam label, leg het volgende div met RSR id attribuut;

     

    Dat is alles, je bent klaar. Bekijk het voorbeeld van de onderstaande link.

    • Demo bekijken “Raphael”

    Laatste gedachten

    Dat is dus de basis met SVG. We hopen dat u nu een goed begrip van dit onderwerp hebt. Het is de beste manier om uw site te optimaliseren voor elke schermresolutie, zelfs voor gebruik op het Retina-display.

    Zoals altijd, als je een avontuurlijk persoon bent, hebben we hier nog een paar verwijzingen en discussies geplaatst om dieper op dit onderwerp in te gaan.

    • Een inleiding tot SVG - W3-scholen
    • Resolutie onafhankelijk met SVG - Smashing Magazine
    • Waarom gebruik je geen SVG? - NetTuts

    Bedankt voor het lezen en we hopen dat je deze post leuk vond.

    • Demo bekijken
    • Download de bron