как получить эффект setScaleType (ImageView.ScaleType.FIT_CENTER) с помощью setScaleType (ImageView.ScaleType.MATRIX) - PullRequest
1 голос
/ 19 марта 2012

В Android с использованием ImageView и Matrix я хочу масштабировать изображение, чтобы оно поместилось в области отображения.Затем, используя пинч, пользователь может увеличить изображение.Используя setScaleType(ImageView.ScaleType.FIT_CENTER), я могу разместить свое изображение в области отображения.Но когда я использую setScaleType(ImageView.ScaleType.MATRIX), чтобы начать масштабирование изображения, изображение сбрасывается до размера по умолчанию.

Поэтому мой вопрос заключается в том, как найти масштабную матрицу, которая даст тот же эффект, что и setScaleType(ImageView.ScaleType.FIT_CENTER).

1 Ответ

0 голосов
/ 09 апреля 2012

Вам необходимо использовать mMatrix.setRectToRect и Matrix.ScaleToFit.CENTER с координатами изображения и координатами вида в качестве исходного и конечного прямоугольников.

mMatrix.setRectToRect(new RectF(0,0,mImageView.getMeasuredWidth(),mImageView.getMeasuredHeight()),new RectF(0,0,mImageView.getParent().getMeasuredWidth(),mImageView.getParent().getMeasuredHeight()),Matrix.ScaleToFit.CENTER);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...