我最近开始从 coursera.org 学习如何用 Java 编写代码。但我无法进一步取得进展,因为我无法弄清楚我的代码不起作用。
此代码更改名称并使用新名称保存文件。
public class Copyfile {
public void doSave()
{
DirectoryResource dr = new DirectoryResource();
for(File f : dr.selectedFiles())
{
ImageResource ir = new ImageResource(f);
String name = ir.getFileName();
ImageResource r = new ImageResource(ir);
String x = "copy-"+name;
r.setFileName(x);
r.save();
System.out.println(name);
}
}
}
其中,这段代码没有。尽管它非常相似。
public class GREyscale {
public ImageResource convertImage(ImageResource inimage)
{
ImageResource outimage = new ImageResource(inimage.getWidth(), inimage.getHeight());
for(Pixel pixel : outimage.pixels())
{
Pixel inPixel = inimage.getPixel(pixel.getX(),pixel.getY());
int val =(inPixel.getRed() + inPixel.getBlue() + inPixel.getGreen())/3;
pixel.setRed(val);
pixel.setBlue(val);
pixel.setGreen(val);
}
return outimage;
}
public void convert()
{
DirectoryResource dr = new DirectoryResource();
for(File f : dr.selectedFiles())
{
ImageResource ir = new ImageResource(f);
ImageResource r = convertImage(ir);
String name = ir.getFileName();
String x ="grey-"+name;
r.setFileName(x);
r.save();
System.out.println(r.getFileName());
r.draw();
}
}
即使尝试了所有可能的更改,我也无法找出原因。