1

我将开发一个项目,我只需要选择 java 支持的图像文件格式即可进行进一步的图像处理。任何人都可以请建议我如何做到这一点..

我已经知道以下将选择 .bmp 文件格式的代码。

    JFileChooser fileOpen = new JFileChooser();
    FileFilter filter = new FileNameExtensionFilter("bmp files", "bmp");
    fileOpen.addChoosableFileFilter(filter);
    int ret = fileOpen.showDialog(null, "Open file");
    if (ret == JFileChooser.APPROVE_OPTION) {

    } else {

    }
4

2 回答 2

4

您可以使用该类的getReaderFileSuffixes方法javax.imageio.ImageIO来获取可用文件扩展名的数组。

import javax.imageio.*;

...

JFileChooser fileOpen = new JFileChooser();

// Get array of available formats
String[] suffices = ImageIO.getReaderFileSuffixes();

// Add a file filter for each one
for (int i = 0; i < suffices.length; i++) {
    FileFilter filter = new FileNameExtensionFilter(suffices[i] + " files", suffices[i]);
    fileOpen.addChoosableFileFilter(filter);
}

// Show dialog
int ret = fileOpen.showDialog(null, "Open file");
于 2013-04-30T15:48:13.710 回答
0

你有正确的想法。您想为支持的格式创建过滤器。这些可以从JavaX.ImageIO库中检索。

此链接描述了如何找到可用的读者和作者:Clicky

有关 ImageIO 可以做什么的更多信息,请参见 APIOracle ImageIO 教程

于 2013-04-30T15:52:45.583 回答