Hjemmeside » Coding » En titt på Scalable Vector Graphics (SVG)

    En titt på Scalable Vector Graphics (SVG)

    Vector grafikk har blitt mye brukt i utskriftsmedier. På et nettsted kan vi også legge vektorgrafik med SVG eller Scalable Vector Graphic. Siterer fra den offisielle spesifikasjonen på W3.org, er SVG beskrevet som:

    Et språk for å beskrive todimensjonal grafikk i XML. SVG tillater tre typer βgrafiske objekter: vektorgrafikformer (for eksempel stier som består av rette linjer og kurver), bilder og tekst.

    Det har faktisk eksistert siden 1999 og fra og med 16. august 2011 ble det en W3C-anbefaling. Likevel er SVG fortsatt betydelig underutnyttet, mens det er mange fordeler ved å bruke Vector i stedet for Bitmap for å betjene grafikk eller bilde på en nettside.

    SVG Fordeler

    I betraktning av visning av grafikk på nettsteder tilbyr SVG noen fordeler over Bitmap, hvorav noen inkluderer:

    Oppløsning Uavhengig

    Bitmap / raster-grafikk er oppløsningsavhengig - den er bygget på piksler. Grafikk servert vil se pikselert når den blir endret på et bestemt zoomnivå. Det skjer ikke med vektorgrafikk, som er oppløsning uavhengig av naturen, da grafikken uttrykkes med en matematisk ligning som gjør det skalerbar på hvilket som helst zoomnivå samtidig som kvaliteten opprettholdes, selv ved Retina Display.

    Redusere HTTP-forespørsel

    SVG kan legges inn direkte i et HTML-dokument med svg tag, så nettleseren trenger ikke å gjøre en forespørsel om å betjene grafikken. Dette resulterer også i bedre belastningsytelse for nettstedet.

    Styling og Scripting

    Inkluderer direkte med svg tag vil også gi oss mulighet til å stil grafikken enkelt gjennom CSS. Vi kan endre objektegenskaper slik som bakgrunnsfarge, ugjennomtrengelighet, grenser osv. på samme måte som med vanlig HTML-kode. På samme måte kan vi også manipulere grafikken via JavaScript.

    Kan animeres og redigeres

    SVG-objekt kan animeres når det bruker animasjonselementet eller gjennom JavaScript-biblioteket som jQuery. SVG-objektet kan også redigeres med noen tekstkodeditor eller en grafisk programvare som Inkscape (som er gratis) eller Adobe Illustrator.

    Mindre filstørrelse

    SVG har en mindre filstørrelse sammenlignet med Bitmap, som har en lignende grafisk presentasjon.

    Tegning grunnleggende former med SVG

    I følge spesifikasjonen kan vi tegne noen grunnleggende former som rektangel, sirkel, linje, ellipse, polylin og polygon med SVG og for at nettleseren skal gjengi SVG-grafikken, må alle de grafiske elementene settes inn i ... stikkord. La oss se eksemplene nedenfor for flere detaljer:

    Linje

    Å tegne en linje i SVG kan vi bruke element. Dette elementet brukes til å tegne en enkelt rett linje, så det vil bare bestå av to punkter, start og slutt.

        

    Som du kan se over, er linjens startpunktskoordinat uttrykt med de to første attributter x1 og x2, mens linjens endepunkt koordinat er uttrykt med y1 og y2.

    Det er også to andre attributter, hjerneslag og slag-bredde som brukes til å definere grensens farge og kantbredde, henholdsvis. Alternativt kan vi også definere disse attributene i en inline-stil, slik som:

     

    det gjør det til slutt bare det samme.

    • Se demo “Linje”

    polylinje

    Det ligner nesten på , men med element vi kan tegne flere linjer i stedet for bare en. Her er et eksempel:

        

    elementet har punkter attributter som lagrer alle koordinatene som danner linjene.

    • Se demo “polylinje”

    Rektangel

    Tegning av et rektangel er også enkelt med dette element. Vi trenger bare å spesifisere bredde og høyde, slik som:

        

    • Se demo “Rektangel”

    Sirkel

    Vi kan også tegne en sirkel med element. I det følgende eksempelet oppretter vi en sirkel med 100 radius som er definert med r Egenskap:

        

    De to første attributter, cx og cy definerer sirkelens senterkoordinat. I eksempelet ovenfor har vi satt 102 både for x og y koordinere, hvis disse attributene ikke er spesifisert, 0 vil bli tatt som standardverdien.

    • Se demo “Sirkel”

    ellipse

    Vi kan tegne en ellipse med . Det fungerer ganske lik sirkelen, men denne gangen kan vi kontrollere spesielt x linje radius og y linjediameter med rx og ry Egenskap;

        

    • Se demo “ellipse”

    polygon

    Med element, kan vi tegne flere sider av former som en trekant, sekskant og enda et rektangel. Her er et eksempel:

        

    • Se demo “polygon”

    Bruke Vector Graphic Editor

    Som du kan se, er det ganske enkelt å tegne enkle objekter med SVG i HTML. Men når objektet blir mer komplekst, er øvelsen ikke lenger ideell og vil gi deg hodepine.

    Heldigvis, som vi har nevnt ovenfor, kan vi bruke en vektor grafisk editor som Adobe Illustrator eller Inkscape å gjøre jobben. Hvis du er kjent med denne programvaren, er det sikkert mye enklere å tegne objekter med deres GUI enn å kodes grafikken selv i HTML-taggen.

    Hvis du jobber med Inkscape, Du kan lagre vektorgrafikken som vanlig SVG, og deretter åpne den i tekstkodeditor. Nå bør du finne SVG-kodene i filen. Kopier alle kodene og lim dem inn i HTML-dokumentet ditt.

    Eller du kan også legge inn .svg filen gjennom et av disse elementene; embed, iframe og gjenstand, for eksempel;

      

    Resultatene vil etter hvert bli det samme.

    I dette eksemplet bruker jeg denne Apple iPod fra OpenClipArt.org.

    • Se demo “iPod”

    Nettleserstøtte

    Når det gjelder nettleserstøtte, har SVG vært veldig godt støttet i alle de store nettleserne, unntatt i IE8 og tidligere. Men denne saken kan løses med dette JavaScript-biblioteket, kalt Raphael.js. For å gjøre det enklere vil vi bruke dette verktøyet, ReadySetRaphael.com, for å konvertere vår SVG-kode til Raphael-støttet format. Dette er hvordan.

    Først av alt, last ned og inkludere Raphaël.js bibliotek til HTML-dokumentet ditt. Deretter laster du opp .svg fil til nettstedet, kopier og lim inn den genererte koden inne i følgende belastning funksjon;

     window.onload = function () // Raphael-koden går her 

    Inne i kropp tag, legg følgende div med RSR id attributt;

     

    Det er det, du er ferdig. Sjekk ut eksemplet fra lenken nedenfor.

    • Se demo “Raphael”

    Siste tanker

    Så det er grunnleggende med SVG. Vi håper nå, du har en god forståelse av dette emnet. Det er den beste måten å optimalisere nettstedet ditt for enhver skjermoppløsning, selv for bruk på Retina-skjermen.

    Som alltid, hvis du er en eventyrlystne person, har vi satt noen få referanser og diskusjoner for å grave dypere inn i dette emnet.

    • En introduksjon til SVG - W3 Skoler
    • Oppløsning Uavhengig med SVG - Smashing Magazine
    • Hvorfor bruker du ikke SVG? - NetTuts

    Takk for at du leser, og vi håper du likte dette innlegget.

    • Se demo
    • Last ned kilde