Her er Danmarks fem bedste CIO’er lige nu:Se de fem nominerede til prisen som Årets CIO 2024

Artikel top billede

HTML5-udvikling: Sådan fungerer SVG i browserne

En serie artikler giver dig overblikket over, hvordan HTML5 fungerer i browserne Chrome, Firefox, Internet Explorer, Opera og Safari. Her handler det om SVG-grafik.

Læs også:

Her er de vigtigste funktioner i det nye HTML5

Sådan fungerer canvas-tag'et

Sådan fungerer video og lyd

Sådan fungerer WebGL

Som nævnt i canvas-afsnittet blev WWW bygget på den idé, at dataene skulle leveres i et enkelt format og så vises eller fortolkes af en lokal computer.

Formatet scalable vector graphics (SVG) blev opfundet til at oversætte almindelig ASCII-tekst til grafiske former. De første komitemøder fandt sted i 1999, men det hårde arbejde er nu endelig ved at bære frugt.

Nu, hvor Microsoft tilføjer understøttelse af SVG i IE9, vil stort set alle de større browsere også understøtte formatet.

Målet med SVG-formatet er at give browsere den samme slags præcision i specificeringen af en tegning, som PostScript gav i forhold til udskrift af dokumenter.

I stedet for at rendere objekter ved at specificere pixels, så er tegningen lavet af linjer og former, som er defineret af tags som det herunder, der producerer en cirkel med en radius på 40 pixels:

circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"

Resultaterne er fantastisk godt egnede til linjetegninger, fordi browseren kan skabe et billede, der er tilpasset skærmens opløsning. Brugeren kan zoome ind og ud og computerens grafikprocessor renderer resultatet.

Videoer og spil lavet af animerede sprites er lette at specificere og levere, fordi de kan være så små. Selvom alle tag'ene og deres mange attributter gør formatet vanvittigt ordrigt, så kan grundlæggende gzip-kompression fjerne 80 procent af dette syntaktiske spæklag. SVGZ-filer er forudkomprimerede.

Stadig et stykke vej igen

Betyder Microsofts ankomst til festen, at alle nu taler samme sprog? Selvfølgelig ikke. Mobilproducenter, der var bekymrede over at spilde batterilevetid på overpyntede SVG-panoramaer, opfandt to underformater: SVGB (SVG Basic) og SVGT (SVG Tiny).

De har skilt sig af med et antal funktioner, der sandsynligvis alligevel ikke gør megen nytte på de små mobilskærme, såsom muligheden for at specificere dimensioner i andre værdier end pixels. Det betyder ingen brug af pica eller millimeter, og SVGT tillader kun solide farveudfyldninger.

Der er også mange forskelle i desktop-implementeringen af browserne. Mens de alle efter sigende implementerer kerneversionen af SVG, så er der visse udviklere, der eksperimenterer med at kunne gøre endnu mere med den fleksible standard.

Nogen har eksempelvis tilføjet et nyt animate-tag, der beskriver en sti, som objekter kan bevæge sig ad. Når objekterne er tegnet, kan SVG-enginen udregne en ny placering for dem og så tegne dem igen.

Al den samme matematik og tag-infrastruktur til tegning af linjerne kan genbruges til at plotte den sti, som objekterne skal følge.

På nuværende tidspunkt understøtter Gecko- og WebKit-browsere denne funktion, mens IE9 ikke er kommet med på vognen endnu.

En anden plan er at lade browseren påføre alle SVG-effekterne såsom filtre og masker til ethvert arbitrært stykke HTML. Mozilla var først til at implementere denne tilgang og lavede et udkast til SVG-effekter til CSS, som HTML-holdet kunne overveje.

De andre browsere har nogen understøttelse, som dog udbredt anses for at være mere fejlfyldt - og inkonsistent med den måde, som idéen er implementeret i Firefox. Der bør dog ikke overraske nogen, da det var de samme folk hos Mozilla, der både skrev koden og specifikationen.

SVG-skrifttyper

Et tredje område med inkonsistens findes i implementeringen af SVG-skrifttyper. Til forskel fra PostScript gør den grundlæggende version af SVG det ikke let at lave ethvert arbitrært mønster af linjer om til et skrifttegn.

WebKit-browserne har grundlæggende understøttelse af SVG-skrifttyper, så det er lettere at tilføje ord til SVG-tegninger. IE og Gecko arbejder stadig på det.

Visse browsere har også taget en anden potentiel udvidelse til sig. Efter at have lavet de renderings-engines, der producerer uendeligt skarpe billeder end uendelig præcision, tog visse SVG-brugere et skridt tilbage og besluttede, at billederne måske ville være lidt lækrere, hvis de kunne være en smule mere slørede. (Nogle mennesker bliver bare aldrig tilfredse.)

I hvert fald tilbyder Chrome, Opera og Firefox SVG-filtre, der udjævner nærliggende pixels for at skabe blødere, pænere og ofte bizarre effekter, der ikke er lige så kolde og skarpe som de rene linjetegninger.

Min hurtige SVG-test giver dig en nem måde at kontrollere din browsers evne til at vise både indlejrede og indrammede SVG-tags.

Andre M. Winter har skabt en god samling af SVG-eksempler og -test, der viser mange af de måder, hvorpå folk eksperimenterer med den grundlæggende SVG-standard samt adskillige af de foreslåede tilføjelser og udvidelser.

Indbygget understøttelse af SVG i aktuelle og fremtidige browsere:

Læs også:

Her er de vigtigste funktioner i det nye HTML5

Sådan fungerer canvas-tag'et

Sådan fungerer video og lyd

Sådan fungerer WebGL




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Fiftytwo A/S
Konsulentydelser og branchespecifikke softwareløsninger til retail, e-Commerce, leasing og mediebranchen.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
OT og IT: Modernisér produktionen og byg sikker bro efter et årelangt teknologisk efterslæb

Moderne produkter skal have mere end strøm for at fungere – og deres navlestreng skal ikke klippes når de forlader fabrikshallen. På denne konference kan du derfor lære mere om hvordan du får etableret det sikre setup når der går IT i OT.

30. april 2024 | Læs mere


Roundtable for sikkerhedsansvarlige: Hvordan opnår man en robust sikkerhedsposition?

For mange virksomheder har Zero Trust og dets principper transformeret traditionelle tilgange til netværkssikkerhed, hvilket har gjort det muligt for organisationer at opnå hidtil usete niveauer af detaljeret kontrol over deres brugere, enheder og netværk - men hvordan implementerer man bedst Zero Trust-arkitekturer i et enterprise set up? Og hvordan muliggør Zero Trust-arkitekturen, at organisationer opnår produktivitetsfordele med AI-værktøjer samtidig med, at de forbliver sikre i lyset af fremvoksende trusler?

01. maj 2024 | Læs mere


ERP-trends 2024

Bliv derfor inspireret til, hvordan du kan optimere dine systemer og processer når af nogle af de fremmeste eksperter på ERP-markedet dele deres iagttagelser af det aktuelle marked og vurderinger af, hvad vi har i vente de kommende 3-5 år. Vi sætter også fokus på, hvordan udviklingen kommer til at påvirke din organisation, hvordan du bedst forbereder og planlægger ERP-indsatsen og om, hvilke faldgruber du skal være opmærksom på.

02. maj 2024 | Læs mere