Я пытаюсь написать буферизованное изображение и прочитать его цвета обратно. Хотя альфа остается неизменной, цвета RGB, похоже, меняются. Я не могу понять причину этого. Любая помощь по исправлению этого приветствуется. Мне нужно, чтобы изображение вернуло тот же цвет, что и я.
try {
BufferedImage img=new BufferedImage(256, 256,
BufferedImage.TYPE_INT_ARGB);
Graphics graphics =
img.createGraphics();
int r=45;int g=45; int b=100; int a=50;
System.out.println("Red "+r+" Green "+g+" Blue "+b+" alpha "+a);
graphics.setColor(new Color(r,g,b,a));
graphics.fillRect(10,10, 40, 40);
Integer i=img.getRGB(23,23);
Color c=new Color(i,true);
System.out.println("Going to read color back");
System.out.println("Red "+c.getRed()+" Green "+c.getGreen()+" Blue "+c.getBlue()+" alpha "+c.getAlpha());
} catch (Exception e) {
e.printStackTrace();
}
Вывод программы: Красный 45 Зеленый 45 Синий 100 альфа 50
Собираюсь прочитать цвет назад
Красный 46 Зеленый 46 Синий 102 альфа 50