Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读取简单的xpm图像并使用Java显示它?_Java_Image - Fatal编程技术网

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

如何读取简单的xpm图像并使用Java显示它?,java,image,Java,Image,我被分配了一项任务来构建一个简单的xpm图像查看器。我无法使用任何现有的工具包库来实现此目的。 我知道xpm图像是这样的字符串数组(我可以写一个)- 我想用java来实现这一点。我的问题是- 1.如何从这个xpm文件中生成一个字符串变量(hi[]),以便在我的主类中使用它? 2.在GUI中显示它的好方法? 3.任何其他听写 非常感谢您的帮助我不知道这是否适用于您:,但我认为一旦它转换为Java映像,您应该能够在Java中执行任何您想要的操作。不知道这是否适用于您:,但我认为一旦它转换为Java映

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

我想用java来实现这一点。我的问题是-
1.如何从这个xpm文件中生成一个字符串变量(hi[]),以便在我的主类中使用它?
2.在GUI中显示它的好方法?
3.任何其他听写


非常感谢您的帮助

我不知道这是否适用于您:,但我认为一旦它转换为Java映像,您应该能够在Java中执行任何您想要的操作。

不知道这是否适用于您:,但我认为一旦它转换为Java映像,您应该能够在Java中做任何您想做的事情。

您必须首先编写一个解析器—一个程序/方法/类/任何可以逐行读取此文件并提取必要数据的东西

BufferedReader r =
    new BufferedReader(new InputStreamReader(new FileInputStream(file),
                                             "US-ASCII"));
提供一个BufferedReader,它有一个readLine()方法。 首先是一些你丢弃或专门处理的线条,然后是真正的图像数据。在这里,您丢弃了引号和逗号,并将普通数据转换为字符串形式

要将其放入图像中,请查看java.awt.image中的类,特别是BuffereImage及其使用的类(Raster/WriteableRaster、IndexColorModel)


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

您必须首先编写一个解析器—一个程序/方法/类/任何可以逐行读取此文件并提取必要数据的东西

BufferedReader r =
    new BufferedReader(new InputStreamReader(new FileInputStream(file),
                                             "US-ASCII"));
提供一个BufferedReader,它有一个readLine()方法。 首先是一些你丢弃或专门处理的线条,然后是真正的图像数据。在这里,您丢弃了引号和逗号,并将普通数据转换为字符串形式

要将其放入图像中,请查看java.awt.image中的类,特别是BuffereImage及其使用的类(Raster/WriteableRaster、IndexColorModel)


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

看起来像C/C++代码,或者我完全不懂。请用C/C++告诉我?我试着从中推断出一些东西1.我想你误解了我的意思。这种文件格式只不过是C编程语言中的一个字符串数组,这表明您可能希望使用C(我记得多年前使用过的一种语言)进行编码。@Hovercraft:这种格式类似于C字符串数组,因此可以轻松地包含在C源文件中,但实际上,文件格式是精确定义的,也可以由非C编译器的程序使用。看起来像C/C++代码,或者我完全不喜欢。请用C/C++告诉我?我试着从中推断出一些东西1.我想你误解了我的意思。这种文件格式只不过是C编程语言中的一个字符串数组,这表明您可能希望使用C(我记得多年前使用过的一种语言)进行编码。@Hovercraft:这种格式类似于C字符串数组,因此可以轻松地包含在C源文件中,但实际上,文件格式是精确定义的,并且也可以由非C编译器的程序使用。好的,但如果我可以将其作为变量来计算,会容易得多。文件的格式是有效的C代码,因此它可以简单地包含在C程序中(这就是格式的目的)。您不能在Java中执行此操作(您仍然需要一个Java编译器),因此这是关闭的。。。你需要解析它。在我的第一步之后,你将数据作为一个字符串[](如果你做得对的话),这样你就可以有一个变量。好的,但是如果我可以把它作为一个变量来计算会容易得多。文件的格式是这样的,它是有效的C代码,所以它可以简单地包含在C程序中(这就是格式的目的)。您不能在Java中执行此操作(您仍然需要一个Java编译器),因此这是关闭的。。。你需要解析它。在我的第一步之后,您将数据作为字符串[](如果您操作正确),因此您可以使用一个变量。我无法为此使用任何现有的工具箱库:(.尽管感谢链接。我无法使用任何现有的工具箱库:(.尽管感谢链接)。