Posterizar y calcar: por qué el conversor te dio un SVG malo
La mayoría de herramientas de imagen a SVG posterizan y calcan. Qué hace eso con degradados, bordes y nodos, y qué hace en su lugar una reconstrucción.
Abre cualquier herramienta «PNG a SVG», sube un logo con un degradado suave y obtendrás bandas. Sube un icono limpio y obtendrás más nodos que un plano del metro. Las herramientas cambian de interfaz, pero casi todas ejecutan por debajo la misma receta: posterizar y luego calcar.
La receta
- Reducir la imagen a N colores, normalmente agrupando píxeles.
- Para cada color, encontrar las manchas de píxeles conectados.
- Contornear cada mancha con un polígono y luego suavizarlo en curvas.
- Apilar los resultados y escribirlos en el archivo.
Es rápido, fácil de implementar y exactamente lo que hacían los calcadores clásicos de los años 2000. Sus fallos son estructurales, no cuestión de ajuste.
Fallo 1: los degradados se convierten en rayas
Un degradado son miles de colores ligeramente distintos. Agruparlos en N cubos produce N bandas planas con bordes duros entre ellas. Subir N hace bandas más finas y más trazados; nunca hace un degradado.
Fallo 2: dos colores, dos bordes
Cada color se calca por separado, así que el límite entre el rojo y el azul se calca dos veces: una desde el lado rojo y otra desde el azul. Los dos contornos nunca coinciden exactamente. Donde se solapan aparece una costura oscura; donde no llegan, se ve un filo de fondo. Un plóter de corte corta las dos líneas.
Fallo 3: se confía en los píxeles a ciegas
Los bloques JPEG, el antialiasing y el ruido del generador son simples píxeles para un calcador, así que los contornea con fidelidad. El resultado tiene bordes en escalera, islas diminutas de color y miles de nodos para una forma que un diseñador dibujaría con veinte.
Qué hace una reconstrucción en su lugar
svgize empieza por el otro extremo: ¿qué diseño, hecho de rellenos planos, degradados y curvas limpias, habría producido estos píxeles, teniendo en cuenta cómo se degradó la imagen? Primero mide el desenfoque, la calidad JPEG y el ruido. Luego prueba hipótesis de degradado contra los píxeles y se queda con las que los explican. Etiqueta cada píxel según la forma a la que pertenece, de modo que el límite entre dos colores es una sola curva, compartida por ambos. Ajusta esa curva con precisión de fracción de píxel, encuentra las esquinas y suaviza las zonas donde la propia fuente ondula.
La diferencia se ve en tres números junto a cada resultado: trazados, colores y tamaño del archivo. Un logo limpio son unos pocos trazados, unos pocos colores y unos pocos kilobytes.