У меня есть изображение в формате png с прозрачностью. Я пытаюсь создать закрашенный многоугольник на изображении поверх прозрачной области. Я устанавливаю цвет, но фактический цвет в конечном изображении отличается от ожидаемого. Вот мой код:
Graphics2D g = wifiImage.createGraphics();
int [] x = {0, 200, 0};
int [] y = {0, 0, 200};
g.setColor(new Color(255, 0, 0)); //Red color
g.drawPolygon(x, y, 3);
g.fillPolygon(x, y, 3);
g.dispose();
ImageIO.write(wifiImage, "png", new File("./output/finalImage.png"));
На последнем изображении я ожидаю красный цветовой треугольник. Но вместо этого это какой-то коричневатый цвет.
В качестве обходного пути в моем исходном изображении я заменил прозрачность белым цветом. В этом случае это работает.
Кто-нибудь может сказать, как установить правильный цвет в прозрачной области PNG?