-3

ここに私が今持っているコードがあります:

File file= new File("C:\Documents and Settings\vasanth\Desktop\s.PNG");
BufferedImage image;

try {
    image = ImageIO.read(file);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Raster raster = image.getRaster();

BufferedImage image2 = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
WritableRaster raster2 = image2.getRaster();
BufferedImage image3 = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
WritableRaster raster3 = image3.getRaster(); 

ここで使用している画像を保持する必要がありますか? イメージ ファイルへのフル パスを指定しても、エラーが発生します。

4

2 に答える 2

14

Java 文字列では二重スラッシュを使用します。単一のスラッシュは文字エスケープ シーケンスと見なされます。

したがって、次のようにファイルを開く必要があります。

File file= new File("C:\\Documents and Settings\\vasanth\\Desktop\\s.PNG");
于 2013-01-22T14:16:12.353 に答える
2

Ivaylo が言ったことに加えて、コードのこの部分を見てください。

BufferedImage image;
try {
    image = ImageIO.read(file);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Raster raster = image.getRaster();

例外を割り当てるとどうなるか考えましたかimage? null オブジェクトでメソッドを呼び出すと、アプリが完全に強制終了されますNullPointerException

例外が発生した場合は、イメージでやりたいことをすべて停止する必要があります。try...catchこれを修正するには、すべてをブロック内に配置します。

于 2013-01-22T14:18:37.533 に答える