2011-05-03 8 views
6

En Flash, los píxeles se calculan utilizando twips, o vigésimo de un píxel. En consecuencia, cada posición siempre está en múltiplos de 0.05. No he visto esto mencionado en la especificación HTML Canvas y no puedo rastrear la posición del cursor en Canvas. ¿Alguien sabe la precisión de sus cálculos de píxeles?¿Cuán pequeño puede cortar un píxel de Canvas HTML5?

Editar una aclaración:

me refiero más a Zeno's paradox que dice con el fin de mover algo del punto A al punto B, se debe mover primero en un punto a medio camino entre los dos. Y luego a medio camino otra vez, ad infinitum.

Así que si quiero mover en el eje x desde el punto 0 a 100 en 0,5:

  1. En la trama 1: 50
  2. Frame 2: 75
  3. Frame 3: 87,5
  4. Entonces: 93.75, 96.875, 98.4375 ... etc.

Entonces, ¿en qué paso el lienzo realmente redondea al siguiente píxel?

+0

No estoy seguro específicamente sobre el lienzo, pero la aplicación de CSS de Chrome nunca le ha gustado que contienen valores de tamaño de cifras decimales. – lpd

Respuesta

4

No estoy seguro de lo que quiere decir con precisión de rebanar.

píxeles en el lienzo se pueden sacar a un poco menos de 0,10, después de lo cual se hacen casi ningún impacto visible.

Por supuesto, si escala, puede dibujar cosas que son 0.00125 píxeles, y así sucesivamente. Pero no serán visibles si no tienes escala.

http://jsfiddle.net/GvVD9/

(Ese primer bloque cuadrado en la parte superior izquierda es un píxel)

exactitud del ratón es una cosa totalmente diferente, de ninguna manera relacionada con la especificación de la lona.

EDIT:

Bueno, podemos demostrar que sorta. Podemos dibujar un montón de píxeles con valores de y se aproximan al 100 y ver cómo se comparan con un píxel de color rojo dibujado con el valor y 100.

http://jsfiddle.net/GvVD9/46/

Cada sola pieza separada horizontalmente es sólo un único 1 1 píxel rect usando el comando drawRect.

50 
75 
87.5 
93.75 // first black pixel you see in image 
96.875 
98.4375 
99.21875 
99.609375 
99.8046875 
99.90234375 
99.951171875 
99.9755859375 
99.98779296875 
99.993896484375 
99.9969482421875 // last black pixel you see in image 

enter image description here

+0

Bonita y pequeña demostración. Soy educado – peteorpeter

+0

¡Demostración informativa! Intenté aclarar mi pregunta anterior. –

+0

Actualicé un poco. Espero que ayude. –