我想繪製一個位圖,手動指定它的每個點的顏色(換句話說,任務是將RGB值的二維數組保存爲PNG(或其他無損的真彩色位圖格式)文件) 。如何用Scala繪製位圖?
在給定的座標下,有一個函數可以在圖像上打印一些文本(給定大小的給定字體)。
如何實現這個?
我想繪製一個位圖,手動指定它的每個點的顏色(換句話說,任務是將RGB值的二維數組保存爲PNG(或其他無損的真彩色位圖格式)文件) 。如何用Scala繪製位圖?
在給定的座標下,有一個函數可以在圖像上打印一些文本(給定大小的給定字體)。
如何實現這個?
您可以使用Java標準庫ImageIO
類。它提供了一種靜態的write
方法,可以將PNG格式的輸出流編碼並寫入RenderedImage
。對於RenderedImage
,您可以輕鬆使用BufferedImage
類。它提供了一個用於直接操縱單個像素顏色的方法。或者,您也可以撥打BufferedImage.getGraphics()
,它會返回一個Graphics
的實例,您可以在任何類型的圖形或文本上繪製任何形狀或文本,就像使用任何AWT組件一樣。
這是常規的Java東西。斯卡拉不提供任何特殊的包裝,我也懷疑這是值得的努力。
您應該使用java庫,如Java Advanced Imaging API。這是有據可查的。
你的意思是說這樣一個原始任務真的沒有Scala本地(或包裝)實現? – Ivan 2011-01-19 20:11:05
來自processing.org的處理是一個非常好的用於2D內容的Java庫,並且可以與Scala完全兼容。 – nullspace 2011-01-19 20:31:43