如何阅读简单的xpm图像并使用Java显示它?

我被分配了一个任务来构建一个简单的xpm图像查看器。 我不能使用任何现有的工具包库。 我知道xpm图像是这样的字符串数组(我可以写一个) –

/* XPM */ static const char *const hi[] = { "7 5 2 1", " c black", ". c yellow", ".. ..", ". . . .", ". . .", ". .", ". ." }; 

我想用java来做这件事。 我的问题是 –
1.如何从这个xpm文件中创建一个String变量(hi []),以便我可以在我的主类中使用它?
2.在GUI中显示它的好方法?
3.任何其他口述……

非常感谢您的帮助

你必须首先编写一个解析器 – 一个程序/方法/类/无论是按行读取这个文件还是提取必要的数据。

 BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(file), "US-ASCII")); 

给你一个BufferedReader,它有一个readLine()方法。 你扔掉或专门处理的第一行,然后主要的一行是真实的图像数据。 在那里你丢弃引号和逗号,并以字符串forms提供普通数据。

要将它放在图像中,请查看java.awt.image中的类 – 特别是BufferedImage及其使用的类(Raster / WriteableRaster,IndexColorModel)。

相反,您也可以简单地在String []表单中保存数据,并在自定义组件的paint-method中访问各个像素。 我认为这会慢一点。

不知道这是否适合你: http : //www.bolthole.com/java/Xpm.html ,但我认为一旦它被转换成Java图像,你应该能够用Java做任何你想做的事。