javaxt图像抛出异常

时间:2014-06-09 16:04:31

标签: java

我正在尝试使用javaxt.io.Image库调整图像大小。我得到以下代码

//resizing image using a factor
                if ((fileSizeInMB>=2)&&(fileSizeInMB)<=4)//if the size is between 2 and 4
                {
                    factor=3;
                    image.resize(image.getWidth()/factor, image.getHeight()/factor);

                    image.saveAs(saveDirectory
                            + emaReceiverUtility.getNameOfAttachment(emailMessage)
                            + "_" + fileName);

                }

以下错误。

java.lang.NullPointerException at javaxt.io.Image.getWidth
你可以帮我弄清楚我做错了什么吗? 代码尝试做的是将图像的宽度和高度除以一个因子。在这种情况下,因子是3.但是代码不起作用,我在下一行有例外

image.resize(image.getWidth()/factor, image.getHeight()/factor);

2 个答案:

答案 0 :(得分:0)

我知道这里发生了什么。在创建图像实例时,我只提供了一个名称,而不是指向一个真实的图像文件。 我更改了以下代码,现在它正在运行。

int factor=1;
                Image image=new Image(part.getInputStream());

                log.info("the file name is "+fileName);
                //resizing image using a factor
                if ((fileSizeInMB>2)&&(fileSizeInMB)<=4)//if the size is between 2 and 4
                {
                    factor=3;
                    image.resize(image.getWidth()/factor, image.getHeight()/factor);

                    image.saveAs(saveDirectory
                            + emaReceiverUtility.getNameOfAttachment(emailMessage)
                            + "_" + fileName);

                }

现在唯一的问题是代码没有保存调整大小的图像。它不断保存旧的未调整大小的文件。 [编辑] 它实际上是正确保存文件,我只是忘记了重新保存原始文件的部分代码,并且由于两个文件具有相同的名称,因此重新调整大小的文件会一直被替换,让我认为代码无法正常工作。谢谢大家。

答案 1 :(得分:-1)

该文件不存在。

此致