как получить эффект setScaleType (ImageView.ScaleType.FIT_CENTER) с помощью setScaleType (ImageView.ScaleType.MATRIX)

1

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

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

Теги:
matrix
imageview

1 ответ

0

Вам необходимо использовать 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);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню