Вы можете использовать стандартную библиотеку Java ImageIO
класс. Он предлагает статический метод write
, который может, например, кодировать и записывать RenderedImage
в выходной поток в формате PNG. Для RenderedImage
вы можете легко использовать класс BufferedImage
. Он предлагает setRGB
метод для непосредственного управления цветами отдельных пикселей. В качестве альтернативы, вы также можете вызвать BufferedImage.getGraphics()
, который возвращает экземпляр Graphics
, на котором вы можете рисовать любой вид фигуры или текста, или даже целые компоненты GUI, точно так же, как с любым компонентом AWT.
Это обычный Java-материал. Scala не предлагает никаких специальных упаковщиков для этого, и я также сомневаюсь, что это стоило бы усилий.