Cuando por defecto se pinta un gráfico en Java se aprecia que por defecto no le aplica ningún filtro antialising.
Dicho de otra forma, y como se aprecia en la imagen, cuando un objeto no tiene aplicado el antialiasing éste aparece con los bordes muy marcados, pareciendo que el objeto ha sido «recortado» y no ha sido pulido/suavizado. A continuación mediante una simple línea en Java se consigue tener objetos como la segunda A de la imagen (el resultado es más explícito ahí por tener un zoom considerable).
Al pintar un círculo con el siguiente fragmento de código:
[code lang=»java»]
g.setColor(color);
g.fillOval((int)this.x, (int)this.y, this.ancho, this.alto);
[/code]
se obtiene el círculo siguiente:
Sin embargo, si arreglamos el fragmento anterior y lo dejamos como sigue:
[code lang=»java»]
Graphics2D g2 = (Graphics2D) g;
g2.addRenderingHints( new RenderingHints( RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON ) ); // Necesario para el antialiasing
g2.setColor(color);
g2.fillOval((int)this.x, (int)this.y, this.ancho, this.alto);
[/code]
Conseguimos el siguiente círculo:
El cual es evidente que queda bastante mejor que el anterior.
Información Bitacoras.com…
Valora en Bitacoras.com: Cuando por defecto se pinta un gráfico en Java se aprecia que por defecto no le aplica ningún filtro antialising. Dicho de otra forma, y como se aprecia en la imagen, cuando un objeto no tiene aplicado el antialiasing éste ap…..