Android: Как проверить, является ли файл образным?

Возможный дубликат:
Знайте, является ли файл образ в Java/Android

Как проверить файл, если это изображение? как показано ниже:

если (file.isImage)....

Если это невозможно в стандартных библиотеках, как я могу это сделать с помощью библиотеки MagickImage?

Спасибо заранее!

Ответы

Ответ 1

Попробуйте этот код Дорогой.

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

        /**
         * 
         */
        public ImageFileFilter(File newfile) 
        {
            this.file=newfile;
        }

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

    }

Это прекрасно работает.

и использовать это как (новый ImageFileFilter (имя файла передачи));

Ответ 2

Я думаю, что если вы хотите проверить, является ли файл изображением, вам нужно его прочитать. Файл изображения может не соответствовать правилам расширения файлов. Вы можете попробовать проанализировать файл 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.
}