¿Cómo eliminar el alias al dibujar polígonos con vc++?
Hay tres formas de eliminar y reducir el alias:
El alias de su polígono es causado principalmente por el ancho del Lápiz. Si reduce el ancho del Lápiz a 1, el alias será casi invisible. Si debe tener un borde, puede calcular y obtener dos RGN, uno dentro y otro afuera dos veces. El efecto es el mismo;
La causa del alias es la rugosidad. En la función DC, el pincel no está diseñado para optimizarse. En "Gráficos de computadora", se habla especialmente sobre cómo optimizar y eliminar este tipo de alias, principalmente el algoritmo de interpolación. Puede optimizar la función como. necesario, pero para ser honesto, este algoritmo El principio no es simple, especialmente la optimización de funciones poligonales. Hasta donde yo sé, no existe un ejemplo de código fuente listo para usar y es difícil de implementar.
Actualmente existen muchas bibliotecas de gráficos de terceros que pueden optimizar visualizaciones 2D y 3D, muchas de las cuales son excelentes (pero algunas son comerciales). Dependiendo de sus necesidades, puede optar por utilizar los componentes de terceros correspondientes, como AGG, etc.
Sin embargo, GDI+ puede lograr resultados ligeramente mejores. Las mejoras son limitadas.