Se debe gráficos vectoriales antialias
suavizado de líneas es requerido para el correcto trazado de gráficos vectoriales que implica coordenadas no enteras (0.4, 0.4), que todos, pero muy pocos clientes quieren hacer.
Cuando coordenadas dadas no entero, el lienzo tiene dos opciones:
- Antialias - pintar los píxeles alrededor de la coordenada con respecto a qué tan lejos coordinar el número entero es de no entero uno (el redondeo error).
- Ronda - aplicar alguna función de redondeo a la coordenada no entera (por lo que 1.4 se convertirá en 1, por ejemplo).
La estrategia posterior funcionará para gráficos estáticos, aunque para gráficos pequeños (un círculo con radio de 2) las curvas mostrarán pasos claros en lugar de curvas suaves.
El problema real es cuando se traducen (mueven) los gráficos - los saltos entre un píxel y otro (1.6 => 2, 1.4 => 1) significan que el origen de la forma puede saltar con relación al padre contenedor (cambiando constantemente 1 píxel hacia arriba/abajo e izquierda/derecha).
Algunos consejos
Consejo # 1: Puede ablandar (o endurecer) antialiasing escalando la lona (digamos por x) a continuación, aplicar la escala recíproco (1/x) a las geometrías usted mismo (no usar el lienzo).
Compare (sin escala):
con (escala de lona: 0,75; escala Manual: 1,33):
y (escala de lona: 1,33; escala manual de : 0.75):
Consejo n.º 2: Si lo que buscas es un aspecto irregular, intenta dibujar cada forma varias veces (sin borrar). Con cada extracción, los píxeles antialiasing se oscurecen.
Comparar. Después de dibujar una vez:
Después de dibujar tres veces:
Creo que está más bien relacionado con el navegador. Tal vez sea útil alguna información adicional sobre qué software usará. – Tomalak
Preferiría un método de navegador cruzado, pero un método que funciona en cualquier navegador solo sería interesante para mí – Blorgbeard
. Solo quería ver si había habido algún cambio sobre este tema. – vternal3