2011-08-17 9 views
5

Sto implementando SVG Tiny 1.1 e non riesco a capire il concetto di "unità utente".SVG 1.1: Cos'è "unità utente" e come convertire l'unità utente in unità assoluta (ad esempio: millimetro)?

La specifica SVG 1.1 definisce ogni < lunghezza > senza unità specificata (come "mm", "cm", "pt", ecc.) In "unità utente".

Durante l'implementazione dell'interfaccia "SVGLength", ho riscontrato 4 attributi relativi al valore della lunghezza; value, unityType, valueInSpecifiedUnit, valueAsString. Gli ultimi 3 attributi sono abbastanza chiari per me.

  1. valueInSpecifiedUnit è nell'unità tipo unitType.
  2. valueAsString uguale a valueInSpecifiedUnit + unitType valore stringa. Es: "10 millimetri"

Tuttavia, il valore dell'attributo si dice che sia in unità utilizzatrice. Quindi le mie domande sono:

  1. Che cos'è "unità utente"?
  2. come convertire da "unità utente" a "unità assoluta" come millimetro (mm)?

saluti,

risposta

7

spec says:

unità utente

una coordinata valore o lunghezza espressa in unità utente rappresenta un valore di coordinata o lunghezza l'utente corrente coordinare il sistema . Pertanto, 10 unità utente rappresentano una lunghezza di 10 unità nel sistema di coordinate utente corrente .

anche:

se il 'width' o 'altezza' attributi sull'elemento SVG più esterno sono in unità utente (cioè, senza identificatore di unità sono state fornite), allora il valore è assunto equivalente allo stesso numero di unità "px"

che significa che unità operative sono le unità specificate in larghezza più esterna SVG dell'elemento e attributi altezza, e se non sono specificate, unità utente sono pixel .

Read the section on units in SVG.

+4

Quindi la "unità utente" è definita nella larghezza e negli attributi di altezza dell'elemento svg. Esempi: quindi l'unità utente è "cm". quindi l'unità utente è "px". È giusto? –

+0

E poi c'è una conversione implicita tra pixel e mm? C'è da qualche parte un'aspirazione sul DPI usato nei documenti SVG?"Risoluzione" per così dire, anche se stiamo parlando di vettore. – Ideogram

+1

@DavidAndreoletti No, l'unità utente è sempre uguale a uno 'px'. Come specificato: "L'unità di un px è definita per essere uguale a un'unità utente." Le altre unità sono ridimensionate rispetto alle dimensioni di un 'px', cioè' 1mm' è sempre uguale a '3.543307px' e uguale a solo' 3.543307'. – Feuermurmel