Я хочу иметь возможность рисовать на BufferedImage, используя экземпляр Graphics2D, и заполнить Цвет за пределами Shape.Если бы это была фигура типа Прямоугольник, это было бы легко, но фигура, с которой мне нужно работать, это Круг.
Легко заполнить круг Цветом, просто написав:
Graphics2D g2d = <my_image>.createGraphics();
...
g2d.fillOval(x, y, width, height);
Однако то, что я хочу, является противоположностью этого.Вместо заполнения внутренней части овала, определяемого числами (x, y, ширина, высота) Я хочу заполнить все, что находится за его пределами.
У меня был очень небольшой успех с этим,Единственное, что приходит на ум, это рисовать ОГРОМНЫЕ арки вокруг пространства, которое я хочу, чтобы круг занимал, потому что мне трудно разобраться в математике, чтобы вычислить это.
РЕДАКТИРОВАТЬ: причина, по которой я не могу просто заполнить все изображение, а затем нарисовать круг, потому что то, что должно быть в круге, не одного цвета, а скорее я хочу сделать изображение (любое изображение, как фотографияя) и смогу добавить один цвет вокруг круга в середине этого изображения.Итак, все, что находится в середине круга, уже есть, прежде чем рисовать вокруг него, и это не что-то нарисованное кодом в первую очередь.