2

こんにちは、BufferedImage のパスを取得しようとしていますが、読み込まれた画像のパスを取得する方法がわかりません。Stack<> から画像を取得しています。ユーザーが次のボタンをクリックすると、画像が 1 つずつ取得されます。スタックの pop() メソッドを使用して画像を変更しました。

コード:

        Stack<File> pictures ;
        final JFileChooser file;
        file = new JFileChooser();
        file.setCurrentDirectory(dir);
        file.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        file.showOpenDialog(panel);
        String path = file.getSelectedFile().getAbsolutePath();
        System.out.println(path);
        pictures= getFilesInFolder(path.toString());    


        a=ImageIO.read(pictures.pop().getAbsoluteFile());

これaが Buffered Image インスタンスです。今、ロードされた画像のパス全体が必要ですa

誰かが私を案内しますか?

4

3 に答える 3

2

は、それがどのように生成されたBufferedImageか、どこからロードされたかについての情報を維持しません。画像をロードする前に、変数にファイル パスを格納する必要があります。

    File file = pictures.pop().getAbsoluteFile();
    a=ImageIO.read(file);
    // now you can use "file" for other purposes too
于 2013-08-22T09:12:18.277 に答える
0

はい、次のコードを使用して解決しました:

            String p;
            File f;
            try 
            {
                f= pictures.pop().getAbsoluteFile();
                a=ImageIO.read(f);
                p = f.getPath();
                System.out.println(p);


            } 
            catch (IOException e1) 
            {
                e1.printStackTrace();
            }
于 2013-08-22T13:49:26.430 に答える