Avatar billede steffentchr Nybegynder
22. juli 2006 - 14:49 Der er 6 kommentarer og
1 løsning

SVG: Tykkelsen på linjer

Hejsa,

Er der nogen skarppe hoveder, der kan komme med et godt bud på, hvorfor mine linjer bliver 2px tykke istedet for 1px i et dokument som dette:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="400" height="400" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <line x1="1" x2="399" y1="100" y2="100" stroke="blue" stroke-width="1px" />
  <line x1="1" x2="399" y1="200" y2="200" stroke="yellow" stroke-width="1px" />
  <line x1="1" x2="399" y1="300" y2="300" stroke="red" stroke-width="1px" />
</svg>

Dokumentet kan ses hér:
http://refresh.dk/svglines (SVG)
http://refresh.dk/svglines.png (PNG, renderet med svg2png -- men ser ud på samme måde som i Firefox og Opera på Mac)


Tak for hjælpen,
Steffen
Avatar billede nielle Nybegynder
22. juli 2006 - 15:47 #1
Jeg er på ingen måde SVG ekspert, men i de eksempler jeg har set er der ikke enhed på stroke-width.

Jeg tør bestemt ikke sværge på at der ikke må være det, men prøv at ændre:

  <line x1="1" x2="399" y1="100" y2="100" stroke="blue" stroke-width="1px" />
  <line x1="1" x2="399" y1="200" y2="200" stroke="yellow" stroke-width="1px" />
  <line x1="1" x2="399" y1="300" y2="300" stroke="red" stroke-width="1px" />

- til:

  <line x1="1" x2="399" y1="100" y2="100" stroke="blue" stroke-width="1" />
  <line x1="1" x2="399" y1="200" y2="200" stroke="yellow" stroke-width="1" />
  <line x1="1" x2="399" y1="300" y2="300" stroke="red" stroke-width="1" />
Avatar billede steffentchr Nybegynder
22. juli 2006 - 15:52 #2
Nope, sorry...
Standard i SVG er "user units" eller "pixels", så det gør ingen forskel:
http://www.w3.org/TR/SVG/coords.html#Units

Jeg har fjernet enhedsangivelsen på den blå linje (http://refresh.dk/svglines), men ingen forskel.
Avatar billede steffentchr Nybegynder
23. juli 2006 - 11:01 #3
Avatar billede nielle Nybegynder
23. juli 2006 - 11:03 #4
Hjalp den på problemet?
Avatar billede steffentchr Nybegynder
23. juli 2006 - 12:20 #5
Jeps, det burde principielt løse problemet for alle svg-værktøjer, som understøtter shape-rendering -- dvs. i hvert fald Firefox i sin nyeste version, Adobes extention og Batik. Der er dog stadig problemer i eksempelvis Opera.
http://refresh.dk/svgex/svglines viser det i Firefox med de røde linjer i bunden.

Vi skal dog konvertere/rasterize vores billeder til PNG, så det er lidt synd at værktøjer som rsvg og svg2png ikke lader til at understøtte det, fordi Batik er ret langsom (Batik-grafen i bunden af følgende tog 7.5s at rasterize på min PwerBook G4):
http://refresh.dk/svgex/
Avatar billede nielle Nybegynder
23. juli 2006 - 21:54 #6
Men, hvis du har fået løst dit problem så er det vel bare at få lukket her?

Du kan selv smide et svar, og acceptere det, sådan at du får dine points tilbage igen :^)
Avatar billede steffentchr Nybegynder
23. juli 2006 - 22:24 #7
Nå ja, så...

** Se svar ovenfor **
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester