23

重複の可能性:
ファイルがJava/Androidの画像であるかどうかを確認する

ファイルが画像の場合、どうすれば確認できますか?次のように:

if(file.isImage)...。

標準ライブラリでは不可能な場合、MagickImageライブラリでそれを行うにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

48

ファイルが画像かどうかを確認したい場合は、それを読む必要があると思います。画像ファイルは、ファイル拡張子の規則に従わない場合があります。次のように、 BitmapFactoryによってファイルの解析を試みることができます。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
if (options.outWidth != -1 && options.outHeight != -1) {
    // This is an image file.
}
else {
    // This is not an image file.
}
于 2012-12-07T09:41:44.163 に答える
20

このコードを試してください。

public class ImageFileFilter implements FileFilter {
   
    private final String[] okFileExtensions = new String[] {
        "jpg",
        "png",
        "gif",
        "jpeg"
    };


    public boolean accept(File file) {
        for (String extension: okFileExtensions) {
            if (file.getName().toLowerCase().endsWith(extension)) {
                return true;
            }
        }
        return false;
    }

}

それはうまくいくでしょう。

これを次のように使用し new ImageFileFilter(pass file name)ます;

于 2012-12-07T09:38:59.470 に答える