En titt på skalbar vektorgrafik (SVG)
Vektorgrafik har använts i stor utsträckning i tryckta medier. På en webbplats kan vi också lägga till vektorgrafik med SVG eller Skalbar vektorgrafik. Citera från den officiella spec på W3.org beskrivs SVG som:
Ett språk för att beskriva tvådimensionell grafik i XML. SVG tillåter tre typer av β-grafiska objekt: vektorgrafikformer (t ex banor som består av raka linjer och kurvor), bilder och text.
Det har faktiskt funnits sedan 1999 och den 16 augusti 2011 blev det en W3C-rekommendation. Ändå är SVG fortfarande betydligt underutnyttjad, medan det finns många fördelar med att använda Vector snarare än Bitmap för att servera grafik eller bild på en webbplats.
SVG fördelar
I betraktande av att betjäna grafik på webbplatser erbjuder SVG några fördelar jämfört med Bitmap, varav några inkluderar:
Upplösning Oberoende
Bitmap / raster-grafik är upplösningsberoende - det är byggt på pixlar. Den grafik som visas kommer att se pixelated när den ändras på en viss zoomnivå. Det händer inte med vektorgrafik, vilket är självständigt upplösning, eftersom grafiken uttrycks med en matematisk ekvation som gör det skalbar vid vilken zoomnivå som helst samtidigt som kvaliteten bibehålls, även vid Retina Display.
Minskar HTTP-förfrågan
SVG kan integreras direkt i ett HTML-dokument med svg
tagg, så webbläsaren behöver inte göra en förfrågan om att betjäna grafiken. Detta resulterar också i bättre belastningsprestanda för webbplatsen.
Styling och Scripting
Bädda in direkt med svg
taggen kommer också att tillåta oss att stilen grafiskt enkelt genom CSS. Vi kan ändra objektegenskaper som bakgrundsfärg, opacitet, gränser, etc. på samma sätt som vi gör med vanlig HTML-tagg. På samma sätt kan vi också manipulera grafiken via JavaScript.
Kan animeras och redigeras
SVG-objekt kan animeras när det använder animeringselementet eller genom JavaScript-biblioteket som jQuery. SVG-objektet kan också redigeras med någon textkodredigerare eller en grafisk programvara som Inkscape (som är gratis) eller Adobe Illustrator.
Mindre filstorlek
SVG har en mindre filstorlek jämfört med Bitmap, som har en liknande grafisk presentation.
Ritning grundläggande former med SVG
Enligt specifikationen kan vi rita några grundläggande former som rektangel, cirkel, linje, ellips, polylin och polygon med SVG och för att webbläsaren ska kunna göra SVG-grafiken måste alla dessa grafiska element infogas i märka. Låt oss se exemplen nedan för mer information:
Linje
Att rita en linje i SVG kan vi använda
element. Detta element används för att rita en enda rak linje, så den kommer bara att bestå av två punkter, Start och slutet.
Som du kan se ovan uttrycks linjens startpunktskoordinat med de två första attributen x1
och x2
, medan linjens slutpunktskoordinat uttrycks med y1
och y2
.
Det finns också två andra attribut, den stroke
och stroke-bredd
som används för att definiera gränsens färg och kantens bredd. Alternativt kan vi också definiera dessa attribut i en inline-stil, som så:
det gör så småningom bara detsamma.
- Visa demo “Linje”
polyline
Det är nästan lika med
, men med
element vi kan rita flera linjer istället för bara en. Här är ett exempel:
elementet har poäng
attribut som lagrar alla koordinater som bildar linjerna.
- Visa demo “polyline”
Rektangel
Att rita en rektangel är också enkel med detta
element. Vi behöver bara ange bredd och höjd, så här:
- Visa demo “Rektangel”
Cirkel
Vi kan också rita en cirkel med
element. I följande exempel skapar vi en cirkel med 100
radie som definieras med r
attribut:
De två första attributen, cx
och cy
definierar cirkelns centrumkoordinat. I ovanstående exempel har vi satt 102
både för x
och y
koordinera om dessa attribut inte anges, 0
kommer att tas som standardvärde.
- Visa demo “Cirkel”
Ellips
Vi kan rita en ellips med
. Det fungerar ganska lik cirkeln, men den här gången kan vi styra specifikt x
radradius och y
radradio med rx
och ry
attribut;
- Visa demo “Ellips”
Polygon
Med
element kan vi rita flera sidor av former som en triangel, sexkant och till och med en rektangel. Här är ett exempel:
- Visa demo “Polygon”
Använda Vector Graphic Editor
Som du kan se är det ganska lätt att rita enkla objekt med SVG i HTML. Men när objektet blir mer komplext, är den här praktiken inte längre idealisk och kommer ge dig huvudvärk.
Lyckligtvis, som vi har nämnt ovan, kan vi använda en vektor grafisk editor som Adobe Illustrator eller Inkscape att göra jobbet. Om du är bekant med den här programvaran är det säkert mycket lättare att rita objekt med deras GUI istället för att självkoda grafiken i HTML-taggen.
Om du arbetar med Inkscape, du kan spara din vektorgrafik som vanlig SVG, och sedan öppna den i textkodredigerare. Nu ska du hitta SVG-koderna i filen. Kopiera alla koder och klistra in dem i ditt HTML-dokument.
Eller du kan också bädda in .svg
fil genom ett av dessa element; bädda in
, iframe
och objekt
, till exempel;
Resultaten kommer så småningom att vara desamma.
I det här exemplet använder jag denna Apple iPod från OpenClipArt.org.
- Visa demo “iPod”
Webbläsarsupport
SVG har mycket bra stöd för webbläsarstöd i alla större webbläsare, förutom i IE8 och tidigare. Men denna fråga kan lösas med det här JavaScript-biblioteket, kallat Raphael.js. För att göra det enklare kommer vi att använda det här verktyget ReadySetRaphael.com för att konvertera vår SVG-kod till Raphael-format. Här är hur.
Först och främst ladda ner och inkludera Raphael.js biblioteket till ditt HTML-dokument. Ladda sedan upp .svg
fil till webbplatsen, kopiera och klistra in den genererade koden inuti följande belastning fungera
;
window.onload = function () // Raphael-koden går här
Inuti kropp
tagg, lägg till följande div
med rsr
id attribut
Det är det, du är klar. Kolla in exemplet från länken nedan.
- Visa demo “Raphael”
Slutgiltiga tankar
Så det är grunderna med SVG. Vi hoppas nu har du en rättvisande förståelse av detta ämne. Det är det bästa sättet att optimera din webbplats för alla skärmupplösningar, även för användning på näthinnan.
Som alltid, om du är en äventyrlig person, har vi här lagt fram några fler referenser och diskussioner för att gräva djupare in i ämnet.
- En introduktion till SVG - W3 skolor
- Upplösning Oberoende med SVG - Smashing Magazine
- Varför använder du inte SVG? - NetTuts
Tack för att du läste och vi hoppas att du haft det här inlägget.
- Visa demo
- Hämta källa