如何用Scala绘制位图?

时间:2011-01-19 19:45:29

标签: scala graphics bitmap

我想绘制一个位图,手动指定它的每个点的颜色(换句话说,任务是将RGB值的二维数组保存到PNG(或其他一些无损真彩色位图格式)文件)。

如果有一个函数可以在给定坐标处的图像顶部打印一些文本(给定大小的给定字体),这也很不错。

如何实现这个?

2 个答案:

答案 0 :(得分:7)

您可以使用Java标准库ImageIO类。它提供静态write方法,例如,可以将RenderedImage编码并写入PNG格式的输出流。对于RenderedImage,您可以轻松使用BufferedImage类。它提供了setRGB方法,用于直接操作各个像素的颜色。或者,您也可以调用BufferedImage.getGraphics(),它返回Graphics的实例,您可以在其上绘制任何形状或文本,甚至是整个GUI组件,就像使用任何AWT组件一样。

这是常规Java的东西。 Scala没有为此提供任何特殊包装,我也怀疑它是值得的。

答案 1 :(得分:2)

您应该使用诸如Java Advanced Imaging API之类的java库。这是有据可查的。