Я пытаюсь прочитать файл изображения PNG с диска, нарисовать на нем прямоугольники и сохранить измененное изображение на диске. Вот код Scala:ImageIO не печатает правильный цвет
//l is a list of Rectangle objects of the form (x1,x2,y1,y2)
val image = ImageIO.read(sourceimage);
val graph=image.createGraphics()
graph.setColor(Color.GREEN)
l.foreach(x=>graph.draw(new java.awt.Rectangle(x.x1,x.y1,x.x2-x.x1,x.y2-x.y1)))
graph.dispose()
ImageIO.write(image,"png",new File(destimage))
Прямоугольники нарисованы, но в GREY
цвета вместо GREEN
. Что я делаю не так?
Является ли исходное изображение цветное изображение? – MadProgrammer
Нет, я думаю. Есть ли способ конвертировать его в цветное изображение при чтении, как в PIL? – rivu
Не знаю, что такое PIL. но я бы создал второй «BufferedImage» с типом «TYPE_ARGB» и нарисую на нем исходное изображение, а затем покрасьте прямоугольники в «BufferedImage», сохранив вместо этого ... – MadProgrammer