Разрешение файла jpg

У меня есть класс, где в конструкторе я получаю файл. Этот файл в формате JPEG. Как я могу получить разрешение этого файла JPEG в этом классе? Это код из конструктора:

public static Bitmap bitmapSizer(File file) {

        BitmapFactory.Options options = new BitmapFactory.Options();
        Bitmap bitmap = null;

        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(file.getAbsolutePath(), options);

        int imageHeight = options.outHeight;
        int imageWidth = options.outWidth;
        options.inDither = true;
        options.inPreferredConfig = Bitmap.Config.ARGB_4444;
        options.inPurgeable = true;
        options.inSampleSize=8;         
        options.inJustDecodeBounds = false;

1 ответ

Решение

Вам нужно переместить несколько строк кода.
Во-первых, получить Options возразить:

    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inDither = true;
    options.inPreferredConfig = Bitmap.Config.ARGB_4444;
    options.inPurgeable = true;
    options.inSampleSize=8;         
    options.inJustDecodeBounds = true;

Обратите внимание options.inJustDecodeBounds =true Это будет читать только заголовок jpg, а не все изображение.
Затем расшифруйте ваш файл:

    Bitmap bitmap = null;
    BitmapFactory.decodeFile(file.getAbsolutePath(), options);

После декодирования вы получите результаты в:

    int imageHeight = options.outHeight;
    int imageWidth = options.outWidth;
Другие вопросы по тегам