Graphics2D: чернение на белом?
Я уверен, что это очень глупый вопрос, но я не могу найти ответ, я не знаком с API Java2D. Я пытаюсь создать изображение и записать его в GIF или PNG, и я хочу, чтобы он использовал черную ручку на белом фоне. Если я не устанавливаю никаких цветов, я становлюсь белым на черном.
Если я использую setPaint() (предназначенный для последующих операций рисования), я получаю весь холст, перекрашенный этим цветом. Следующий пример отображает все черное.
Образец находится в Scala, но вы получаете идею. Не стесняйтесь отвечать на Java!
val bi = new BufferedImage(200, 400, BufferedImage.TYPE_BYTE_BINARY )
val g = bi.createGraphics
g.setBackground(Color.WHITE)
g.setPaint(Color.BLACK)
g.draw(new Rectangle(10, 10, 30, 20))
Ответы
Ответ 1
setBackground метод есть/использовался только для clearRect.
Заполните прямоугольник цветом фона перед рисованием:
int width = 200;
int height = 400;
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_BYTE_BINARY);
Graphics g = image.createGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
g.setColor(Color.BLACK);
//ready for drawing