WritableRaster java

时间:2014-06-13 21:12:38

标签: java

我在java中使用“迷你photoshop”。我打开jpg文件使用这个方法

public BufferedImage open()
{
    fc = new JFileChooser();
    int ret = fc.showOpenDialog(null);
    if (ret == JFileChooser.APPROVE_OPTION)
    {
        try {
            img=ImageIO.read(fc.getSelectedFile());
            img2=ImageIO.read(fc.getSelectedFile());
            raster = img.getRaster();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }else 
        img = null;
    return img;
}

在这张图片中,我做了一些改变,例如。塞菲亚,索贝尔。但在此之后我想回到原始图片,我用这个方法来做到这一点:

public BufferedImage origin() {
    raster=img.getRaster();
    return img2;
}

当我想再次使用棕褐色或任何其他过滤器时出现问题,因为程序记得早先的修改。

例如,当我使用棕褐色然后回到原点并使用sobel时,程序显示我的sepia + sobel,应该只显示sobel。

1 个答案:

答案 0 :(得分:0)

应该在下面的行

raster=img.getRaster();

更改为

raster=img2.getRaster(); ?

public BufferedImage origin() {
    raster=img.getRaster();
    return img2;
}