javagraphicsantialiasinggeometry

How to draw a decent looking Circle in Java


I have tried using the method drawOval with equal height and width but as the diameter increases the circle becomes worse looking. What can I do to have a decent looking circle no matter the size. How would I implement anti-aliasing in java or some other method.


Solution

  • As it turns out, Java2D (which I'm assuming is what you're using) is already pretty good at this! There's a decent tutorial here: http://web.archive.org/web/20100330030913/http://www.javaworld.com/javaworld/jw-08-1998/jw-08-media.html

    The important line is:

    graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                              RenderingHints.VALUE_ANTIALIAS_ON);