Tracer le cercle (à l'aide de pixels appliquée dans une image avec une boucle for)

Je veux dessiner un cercle (avec 1 ou 2 boucles for) à l'aide de pixels position (commence à partir du haut à gauche et se termine en bas à droite)

J'ai réussi a dessiné un rectangle avec cette méthode:

private void drawrect(int width,int height,int x,int y) {
    int top=y;
    int left=x;

    if(top<0){
        height+=top;
        top=0;
        }
    if(left<0){
        width+=left;
        left=0;
    }

    for (int j = 0; j <width; j++) {
        for (int i = 0; i <height; i++) {
                    pixels[((i+top)*w)+j+left] = 0xffffff;//white color
        }

    }

}

Les pixels de la matrice contient les pixels de l'indice suivi par sa couleur.

pixels[index]=color;

Avant que j'utilise ce code pour "image" et "pixels", array (si cela vous aide)

img = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
pixels = ((DataBufferInt) img.getRaster().getDataBuffer()).getData();

Mais comment puis-je dessiner seulement les pixels blancs comme dans cette image et d'ignorer les autres pixels?

Pixel de l'Image http://oi42.tinypic.com/2u61sud.jpg

Vous voulez sans doute de Google, “Bresenham Cercle” de l'algorithme 🙂

OriginalL'auteur boyd | 2012-01-25