Как заполнить круг внутри небольшого квадрата? - PullRequest
1 голос
/ 14 апреля 2020

Мне нужно нарисовать / заполнить круги внутри маленьких квадратов по 5 пикселей. но когда я это делаю, это выглядит так, будто я заполнил квадрат внутри, а не круг. При попытке закрасить круг внутри квадрата 10 пикселей, он выглядит просто отлично. тестовый код действительно прост:

    g.drawRect(10,10,5,5);
    g.fillOval(10,10, 5, 5);

    g.drawRect(30,30,10,10);
    g.fillOval(30,30,10,10);

Я получаю результат, показанный на картинке

I get the result shown in the picture

это просто нормально или я делаю это неправильно?

1 Ответ

2 голосов
/ 14 апреля 2020

Квадрат 5x5 на самом деле имеет размер 6x6 пикселей, поэтому нарисуйте набор прямоугольников 6x6, представляющих пиксели.

Теперь нарисуйте, как you будет заполнять круг внутри этого квадрата.

Здесь я покажу вам, что делает система:

    5x5 Square              5x5 Circle
┌──┬──┬──┬──┬──┬──┐     ┌──┬──┬──┬──┬──┬──┐
│██│██│██│██│██│██│     │  │  │  │  │  │  │
├──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │██│     │  │██│██│██│██│  │
├──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │██│     │  │██│██│██│██│  │
├──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │██│     │  │██│██│██│██│  │
├──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │██│     │  │██│██│██│██│  │
├──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│     │  │  │  │  │  │  │
└──┴──┴──┴──┴──┴──┘     └──┴──┴──┴──┴──┴──┘

Теперь наложите круг на свой квадрат. Вы получите заполненный квадрат, который вы видели.

     Combined
┌──┬──┬──┬──┬──┬──┐
│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│
└──┴──┴──┴──┴──┴──┘

           10x10 Square                           10x10 Circle
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐     ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│██│██│██│██│██│██│██│██│██│██│██│     │  │  │  │  │  │  │  │  │  │  │  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │  │  │██│██│██│██│██│  │  │  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │  │██│██│██│██│██│██│██│  │  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │██│██│██│██│██│██│██│██│██│  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │██│██│██│██│██│██│██│██│██│  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │██│██│██│██│██│██│██│██│██│██│  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │██│██│██│██│██│██│██│██│██│  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │██│██│██│██│██│██│██│██│██│  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │  │██│██│██│██│██│██│██│  │  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │  │  │  │  │  │  │  │██│     │  │  │  │██│██│██│██│██│  │  │  │
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│     │  │  │  │  │  │  │  │  │  │  │  │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘     └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
             Combined
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│██│██│██│██│██│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │██│██│██│██│██│  │  │██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │██│██│██│██│██│██│██│  │██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │██│██│██│██│██│██│██│  │██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│  │  │██│██│██│██│██│  │  │██│
├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
│██│██│██│██│██│██│██│██│██│██│██│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
...