Píxeles en vectores - SVG

Estoy trabajando en la aplicación svg-edit y estoy recibiendo pedidos de clientes a través de la web.

Estoy convirtiendo esos píxeles a mm según la fórmula 3.77 pixels = 1 mm.

¿Hay alguna forma de que algo salga mal si mi cliente usa un PPI diferente al que estoy usando o tal vez un monitor o sistema operativo diferente o tal vez un monitor?

Si un usuario dibuja una forma en mi editor en línea usando un PPI diferente al mío, ¿existe alguna posibilidad de que obtenga una forma de píxel diferente?

¿Existe alguna posibilidad de que mi fórmula tenga que cambiar si mi cliente está usando un PPI, un monitor o un sistema operativo o incluso un navegador diferente al mío?

Esto es bastante difícil de responder. Pero si su editor trabaja en píxeles absolutos y le está informando al usuario final cuál es el factor de escala consistente, probablemente esté bien. Pero, ¿de dónde obtuvo 3,77 píxeles = 1 mm y cómo le dice al usuario qué tan grande en mm será el resultado final (por ejemplo, están trabajando dentro de un área de píxeles fija que representa una hoja A4?)
No tengo idea de qué es un píxel absoluto, el título podría estar equivocado. encontré la fórmula en google en realidad. Lo que hago es dejar que el usuario dibuje las formas usando las medidas de píxeles, pero le digo que son milímetros. El usuario no tiene idea de que está dibujando en píxeles. Simplemente realizo la conversión importando en Corel Draw x4 y escalando el objeto en un 377,9 % . ¿El tamaño de píxel varía en tamaño en SVG entre navegadores o configuraciones de DPI?
El usuario puede precargar el editor con un tamaño de lienzo fijo... ya sea 500 * 500 píxeles o 300 * 300 píxeles. Sin embargo, la palabra píxel no se usa, les digo que son milímetros y cuando recibo el diseño enviado, solo uso la fórmula para hacer la conversión en Corel Draw. En Corel Draw, cuando se importa el dibujo enviado y uso 96 DPI como resolución, siempre obtengo el tamaño de sus objetos un 377,9 % más pequeño. Por lo tanto, uso la fórmula para obtener el mismo tamaño en milímetros. Estoy un poco confundido con el DPI en Corel Draw porque pensé que los vectores no tenían DPI.
las imágenes rasterizadas tienen una resolución (número de píxeles [los puntos en DPI]) fija en el momento de la creación, mientras que las imágenes vectoriales PURE tienen una resolución indefinida hasta que se procesan en un dispositivo de salida (impresora o pantalla). Digo "puro" porque uno puede tener rellenos de textura de trama, etc. incrustados en el arte vectorial. El vector seguirá siendo escalable, pero la calidad de las partes del ráster se degradará si se escala significativamente desde su tamaño de creación.
Si alguna vez ha tenido que graficar manualmente una solución en álgebra o cálculo a mano con lápiz y papel, probablemente lo haya hecho con menos puntos que si tuviera una calculadora gráfica. Esto es, de manera simplista, lo que están haciendo las imágenes vectoriales: con lápiz y papel, tenías un renderizador de muy bajo dpi y la calculadora tenía un dpi más alto, pero en ambos casos la "imagen del gráfico" se almacenaba como una función. .
tenga en cuenta que la suposición de 96 ppp en Corel Draw es *probablemente porque necesitan un valor de algún tipo para incrustar texturas rasterizadas, etc.
No es que tu fórmula tenga que cambiar, es que no hay una fórmula para hacer lo que quieres hacer. Simplemente no tiene idea de cuál es el PPI de la pantalla del usuario final en relación con cualquier unidad de medida real.

Respuestas (2)

Puede o no tener un problema.

Tu dices:

El usuario puede precargar el editor con un tamaño de lienzo fijo... ya sea 500 * 500 píxeles o 300 * 300 píxeles... mi usuario dibuja en píxeles pero le digo que son milímetros. El usuario no tiene idea de que son píxeles.

Si le informa al usuario que el área del lienzo en la pantalla representa un área imprimible de 80 mm cuadrados o 133 mm cuadrados (utilizando su factor de conversión existente de 3,77 px por mm = 96 px por pulgada (ppi)), entonces debería estar bien.

(Tengo que decir que creo que puede haber comenzado mirando el lado equivocado del problema. ¿Sus tamaños de impresión realmente están destinados a ser de 80 mm cuadrados o 133 mm cuadrados?)

Una forma de hacerlo es mostrar reglas con unidades de mm alrededor del lienzo, como sugiere Horatio. Aunque no necesariamente necesita ser explícito, por ejemplo, si su aplicación fuera para imprimir en CD y su lienzo mostrara el contorno de un CD, sería obvio.

Pero si confía en que el lienzo de la pantalla es fiel al tamaño de impresión, es decir, mide realmente 80 mm cuadrados o 133 mm cuadrados en la pantalla del usuario, tiene un problema, ya que esto solo será cierto para los monitores que se muestran a 96 ppi, y donde no hay escalado adicional en el navegador o el sistema operativo.

Las pantallas de computadoras de escritorio y portátiles suelen tener un valor de ppi entre 80 y 130, y mucho más alto para algunos dispositivos móviles, por lo que habrá una gran diferencia.

De hecho, estaba sugiriendo algo mucho más simple: "esto es un cuadrado, si no se ve cuadrado en su monitor, ¡tiene un problema!" :)

Es plausible (sin entrar en una discusión sobre si es probable ) que un usuario final esté viendo la aplicación con algún equipo o configuración que altere la relación de aspecto de la pantalla.

En este escenario, lo que ellos ven como un cuadrado se vería en el extremo del servidor como un rectángulo.

Una forma simple de protegerse contra esto es mostrar un cuadrado e informar al usuario que si no lo ve como un cuadrado, entonces hay un problema.

Con respecto al tamaño real en unidades del mundo real, mostraría una escala de algún tipo que pueden usar para escalar o hacer zoom en la aplicación y sostener una regla en la pantalla.

Ambas serían formas sencillas de calibrar la pantalla del cliente.

En realidad, mi usuario dibuja en píxeles, pero le digo que son milímetros. El usuario no tiene idea de que son píxeles, solo hago la conversión en Corel Draw escalando el objeto en un 377.9% y funciona. ¿El tamaño de píxel varía en tamaño en SVG entre navegadores o configuraciones de DPI? No estoy demasiado preocupado por las formas, en realidad escribí la palabra incorrecta. lo que realmente quise decir fue el tamaño. ¿Existe alguna posibilidad de que tenga de mi lado un número de píxel diferente para el ancho y el alto entre los navegadores o la configuración de DPI entre los usuarios?
Aunque realmente no entiendo la conversión de píxeles a milímetros, ¿la fórmula mm=(píxeles×25,4) ÷ ppp que se encuentra en www.dallinjones.com/2008/07/how-to-convert-from-pixels-to -milimetros/ ayuda en algo? @horatio o cualquiera: por favor, ¿podría explicar también los problemas/principios subyacentes para los no expertos? Seguramente se trata de diferencias entre la salida en pantalla y la salida en dispositivos de impresión/trazado.
No sé si obtuve la respuesta correcta por mi cuenta, pero no creo que ninguna configuración de DPI realmente afecte mi dibujo, ya que mis clientes me envían sus objetos en vectores. Creo que los vectores son independientes de DPI, por lo que sus píxeles son más o menos un número que llego a este tamaño. Es cuando hago la conversión de mi lado que tengo que preocuparme por el DPI. En realidad, el DPI que configuré en Corel Draw donde realizo la conversión. Así que sí, creo que la fórmula de TehMacDawgs es correcta.
Las imágenes vectoriales puras son independientes de la UNIDAD, lo que es más profundo que "independiente de DPI". Usted pregunta si DPI varía en el lado del cliente, pero pregúntese: ¿una imagen de 1280x720 píxeles tiene el mismo tamaño físico en un monitor de 50 pulgadas y en un monitor de 20 pulgadas?
@TehMacDawg: DPI es una medida derivada que requiere puntos Y pulgadas para calcular. Las imágenes rasterizadas solo se tratan de puntos (píxeles). Los píxeles son básicamente una unidad lógica de tamaño inmutable (piense en el átomo clásico). La misma imagen cuadrada exacta de 100 px SIN editar ni alterar el archivo de imagen se puede imprimir a 0,33 pulgadas (300 ppp) o 100 pulgadas (1 ppp)
Ese enlace de conversión de píxeles a milímetros es algo gracioso. ¿Cómo conviertes algo que no tiene medidas?