2011-08-17 9 views
5

Estoy implementando SVG Tiny 1.1 y tengo problemas para entender el concepto de "unidad de usuario".SVG 1.1: ¿Qué es "unidad de usuario" y cómo convertir la unidad de usuario en una unidad absoluta (por ejemplo: milímetro)?

La especificación de SVG 1.1 define cada < longitud sin unidad especificada (como "mm", "cm", "pt", etc.) para estar en "unidad de usuario".

Al implementar la interfaz "SVGLength", encontré 4 atributos relacionados con el valor de la longitud; value, unityType, valueInSpecifiedUnit, valueAsString. Los últimos 3 atributos son lo suficientemente claros para mí.

  1. valueInSpecifiedUnit es en el tipo de unidad unitType.
  2. valueAsString es igual a valueInSpecifiedUnit + unitType valor de cadena. Por ejemplo: "10 mm"

Sin embargo, el valor del atributo se dice que es en la unidad de usuario. Entonces mis preguntas son:

  1. ¿Qué es "unidad de usuario"?
  2. cómo convertir de "unidad de usuario" a una "unidad absoluta" como milímetro (mm)?

Regards,

Respuesta

7

la especificación says:

unidades de usuario

una coordenada valor o la longitud expresada en unidades de usuario representa un valor de coordenadas o longitud en el usuario actual coordinar el sistema . Por lo tanto, 10 unidades de usuario representan una longitud de 10 unidades en el sistema de coordenadas de usuario actual .

También:

si la 'altura' 'ancho' o atributos en el elemento svg más externa son en unidades de usuario (es decir, ningún identificador de unidad se ha proporcionado), entonces se asume el valor para ser equivalente para el mismo número de unidades "px"

lo que significa que las unidades de usuario son las unidades especificadas en el ancho del elemento svg más externa y los atributos de la altura, y si no se especifican, a continuación, unidades de usuario son píxeles .

Read the section on units in SVG.

+4

Por lo tanto, la "unidad de usuario" se define en los atributos de anchura y altura del elemento svg outg. Ejemplos: luego la unidad de usuario es "cm". luego la unidad de usuario es "px". ¿Es esto correcto? –

+0

Y luego, ¿hay una conversión implícita entre píxeles y mm? ¿Hay algún lugar en el DPI utilizado en los documentos SVG?"Resolución" por así decirlo, incluso si estamos hablando de vector. – Ideogram

+1

@DavidAndreoletti No, la unidad de usuario siempre es igual a un 'px'. Según la especificación: "Una unidad de px se define para ser igual a una unidad de usuario". Las otras unidades se escalan en relación con el tamaño de un 'px', es decir,' 1mm' siempre es igual a '3.543307px' e igual a' 3.543307'. – Feuermurmel

Cuestiones relacionadas