¡Esta pregunta no es política en lo más mínimo!
Mientras miraba la versión SVG del logotipo de Hillary que se encuentra aquí , noté que había muescas en las dos barras verticales de la H. La barra transversal de la flecha cubre las muescas para que no se vean al ver el logotipo. Pero tengo mucha curiosidad de por qué el diseñador podría haber puesto estas muescas. ¿Alguien sabe?
Sin las muescas, es probable que vea los bordes de las formas inferiores donde se encuentran con los bordes de las formas superpuestas (en la pantalla, de todos modos, no es realmente un problema al imprimir).
Puede ver ejemplos y explicaciones de los posibles artefactos aquí:
Rara vez hay alguna razón para tener bordes perfectamente alineados que causen artefactos como ese, por lo que usar "muescas" como en el logotipo de Hillary es un buen hábito.
Comprender la rasterización y el algoritmo del pintor podría ayudar.
Una forma de representar gráficos vectoriales (gráficos definidos por polígonos, en lugar de píxeles) en píxeles es rasterizar los polígonos mientras se ejecuta el algoritmo del pintor.
El algoritmo del pintor es un proceso de abajo hacia arriba en el que primero colocas el fondo, luego dibujas encima de ese fondo con cada capa de color hasta llegar a la capa superior.
Cuando deposita una capa, presta atención a su cobertura (generalmente almacenada en un canal adicional, el canal alfa) y la usa para mezclar el color agregado con lo que ya está allí.
Si su nueva capa cubre un píxel en un 50% y es azul, promedia el color actual de ese píxel con azul y lo dibuja allí.
Las cosas se vuelven un poco más complejas si está creando una imagen con transparencia, pero no fundamentalmente.
La rasterización es el proceso de convertir un polígono en píxeles. Aquí, calculamos cuánto cubre el polígono un píxel dado usando algo de álgebra, luego calculamos la cantidad de cobertura.
Si tiene dos bordes de un polígono que son coincidentes, exactamente uno encima del otro, pero ambos cubren la mitad de un píxel determinado, lo que sucede es un problema.
Supongamos que el polígono inferior es rojo y el superior azul y el fondo es blanco.
Primero pintamos el rojo. Esto se mezcla con el blanco, dando lugar a 50% blanco y 50% rojo.
Luego pintamos el azul. Esto se mezcla con el 50% blanco 50% rojo y obtenemos 25% blanco 25% rojo 50% azul. Lo mismo sucede si el rojo y el azul se encuentran en el medio, o si el azul cubre completamente al rojo.
Pero "en realidad" el polígono azul cubrió completamente al rojo, entonces ¿por qué lo estamos viendo? Porque el algoritmo olvida los detalles de posicionamiento de subpíxeles.
Siempre que haya una cobertura del 100% de un polígono, esto no es un problema.
Ahora bien, este problema no es fundamental. Puede hacer renderizado de polígonos con un enfoque similar al trazado de rayos (donde sobre-renderiza por un factor de N ^ 2 en los puntos), o incluso un enfoque de vector puro (donde resta formas de bloqueo de la geometría de las formas debajo ellos, recortándolos). En ninguno de los casos, los colores "ocultos" se filtran a la imagen de salida.
El algoritmo del pintor no es el único caso en el que la geometría "oculta" puede filtrarse. Si está imprimiendo con medios opacos, a veces las capas de color no están perfectamente alineadas. Por lo tanto, las capas inferiores se filtran cuando la capa superior debería cubrirlas por completo.
Como no sabe cómo se generará su imagen vectorial, muescas como esa le permiten crear imágenes que son más sólidas frente a técnicas de impresión/visualización imperfectas.
Cai tiene razón. Pensé en agregar una respuesta visual también.
La razón por la que esto sucede es que es un SVG. A diferencia de una imagen rasterizada en la que controlas cada píxel renderizado, la rasterización del SVG ocurre en el navegador... por lo que el navegador toma estas decisiones.
Una de las decisiones que debe tomar el navegador es cuándo hacer el suavizado. Por lo general, hará esto cuando un punto a lo largo de una línea caiga en un píxel. Entonces eliminará el alias de ese píxel. Dado que representará todas las capas del SVG, lo hará con cada capa y ahí es donde puede comenzar a obtener el artefacto de borde. Esto es especialmente cierto cuando juegas con el zoom del SVG, ya que hará que se superpongan diferentes píxeles de la pantalla.
Aquí hay una captura de pantalla de un cuadro verde superpuesto a un cuadro rojo en Chrome. La parte superior está al 100% del zoom de la página, la parte inferior está ampliada. Observe la diferencia al representar ese borde:
Si tomo una captura de pantalla y hago zoom para mostrar la rasterización, puede obtener una imagen más clara de lo que está sucediendo:
La solución ideal aquí sería que el rasterizador SVG en el navegador sea "más inteligente" y no represente las cosas que están apiladas, pero dado que los elementos SVG se pueden manipular externamente y en vivo (ya que es solo un archivo XML), no es una solución práctica para el navegador.
Entonces, en cambio, el diseñador toma esa decisión usando las muescas que ves.
Por cierto, esto es similar en concepto a cómo lidiar con el registro en la impresión mediante el reventado .
La impresión en varios colores requiere un registro preciso para evitar espacios antiestéticos y es una preocupación cuando los artefactos se componen de múltiples fuentes. Problemas similares pueden ocurrir incluso en productos digitales donde la aritmética de precisión limitada necesariamente introduce errores.
El problema que se evita es el reventado inverso , donde la desviación del gráfico previsto puede dar como resultado una línea delgada del color de fondo que se muestra a la izquierda de los bordes coincidentes verticales. Como los colores contrastan mucho, el impacto será notable (intente mover la línea discontinua incluso 1 píxel a la izquierda de la vertical).
El enfoque no pretende impactar en la mezcla de tintas. Las coordenadas coherentes en pantalla evitan el problema, mientras que los medios tonos se utilizan para gestionar el color.
joojaa
nick t
joojaa
Francisco Presencia
joojaa
Francisco Presencia
DA01
joojaa
DA01
CodesInChaos
joojaa
gordito
Juan Dvorak
joojaa
Zach Saucier