Как изменить размер картинки в зависимости от ширины экрана телефона на Android? - PullRequest
1 голос
/ 12 января 2012

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

1 Ответ

2 голосов
/ 12 января 2012

Например, если ваш Bitmap - bmp, а ImageView - framePhoto:

        int iWidth=bmp.getWidth();
        int iHeight=bmp.getHeight();

        Display display = getWindowManager().getDefaultDisplay();
        DisplayMetrics dm = new DisplayMetrics();
        display.getMetrics(dm);

        int dWidth=dm.widthPixels;
        int dHeight=dm.heightPixels;

        float sWidth=((float) dWidth)/iWidth;
        float sHeight=((float) dHeight)/iHeight;

        if(sWidth>sHeight) sWidth=sHeight;
        else sHeight=sWidth;

        Matrix matrix=new Matrix();
        matrix.postScale(sWidth,sHeight);
        newImage=Bitmap.createBitmap(bmp, 0, 0, iWidth, iHeight, matrix, true);
        framePhoto.setImageBitmap(newImage);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...