0

我有一个类,在构造函数中我得到一个文件。这个文件是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;
4

1 回答 1

2

您需要移动几行代码。
首先,把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;
于 2012-07-26T08:25:58.907 回答