如何使用Scala绘制位图?

4
我想手动绘制位图,每个点的颜色都是手动指定的(换句话说,任务是将RGB值的2D数组保存为PNG(或其他无损真彩色位图格式)文件)。
还可以编写一个函数,在给定坐标处打印一些文本(使用给定大小的给定字体)。
如何实现?
2个回答

8
你可以使用 Java 标准库的 ImageIO 类,它提供了一个静态的 write 方法,例如,可以将 RenderedImage 编码并写入 PNG 格式的输出流中。对于 RenderedImage,你可以很容易地使用 BufferedImage 类,它提供了 setRGB 方法,用于直接操作单个像素的颜色。或者,你也可以调用 BufferedImage.getGraphics() 方法,返回一个 Graphics 实例,可以在其上绘制任何形状或文本,甚至整个 GUI 组件,就像任何 AWT 组件一样。
这是普通的 Java 内容。Scala 并不提供任何特殊的包装器,我也怀疑这是否值得努力。

当然可以。这是微不足道的事情。Interop 是 Scala 的优势之一,在此编写包装器的好处很少。 - Kevin Wright

1

你的意思是说,真的没有Scala本地(或包装器)实现这样一个基本任务吗? - Ivan
1
Processing是processing.org提供的一个非常好用的Java库,专门用于2D图形处理,并且可以与Scala完美兼容。 - nullspace
我认为使用Processing来完成这样一个原始的任务就像用重型火炮对付蚊子一样。 - Ivan
2
@Ivan:不需要包装器。如果你不同意的话,自己写一个吧。 ;) - Kim Stebel
@Kim 然后简单地+1他的评论。 - ziggystar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接