我想手动绘制位图,每个点的颜色都是手动指定的(换句话说,任务是将RGB值的2D数组保存为PNG(或其他无损真彩色位图格式)文件)。还可以编写一个函数,在给定坐标处打印一些文本(使用给定大小的给定字体)。如何实现?
你可以使用 Java 标准库的 ImageIO 类,它提供了一个静态的 write 方法,例如,可以将 RenderedImage 编码并写入 PNG 格式的输出流中。对于 RenderedImage,你可以很容易地使用 BufferedImage 类,它提供了 setRGB 方法,用于直接操作单个像素的颜色。或者,你也可以调用 BufferedImage.getGraphics() 方法,返回一个 Graphics 实例,可以在其上绘制任何形状或文本,甚至整个 GUI 组件,就像任何 AWT 组件一样。这是普通的 Java 内容。Scala 并不提供任何特殊的包装器,我也怀疑这是否值得努力。