В настоящее время я использую WritableRaster и его метод setPixed, и мне нужно, чтобы он устанавливал не только один пиксель, а «круг» с радиусом r. Я думаю о чем-то вроде этого:
for(int y = -r; y < r; y++)
{
for(int x = -r; x < r; x++)
{
raster.setPixel(x,y,color);
}}
Вопрос в том, будет ли это работать, чтобы сделать круг, если да, то как мне заставить его пройти через все пиксели внутри?
Заранее спасибо!
РЕДАКТИРОВАТЬ: извините, я не прояснил это - я делаю резиновый инструмент на прозрачном холсте, поэтому, если я нарисую круг прозрачным цветом, он не удалит то, что было раньше... Вот почему я использую установить пиксель.
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ: вот что выводит код (на g2d, используя drawLine с теми же значениями, поэтому он заполняет только один пиксель, как в методе setPixel): http://i.imgur.com/a5QNMuX.png?1
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ: Если кто-то хочет использовать этот код по той же причине, я рекомендую использовать BufferedImage.setRGB(), потому что это намного быстрее. Если вы не знаете, что делать с цветом (последний параметр), используйте что-то вроде:
...
buffImg.setRGB(x,y,new Color(r,g,b,a).getRGB());
...